xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/xop-intrinsics-x86_64-upgrade.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+fma4,+xop | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_int_x86_xop_vpermil2pd(<2 x double> %a0, <2 x double> %a1, <2 x double> %a2) {
5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd:
6*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $1, %xmm2, %xmm1, %xmm0, %xmm0
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
9*9880d681SAndroid Build Coastguard Worker  %res = call <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double> %a0, <2 x double> %a1, <2 x double> %a2, i8 1) ;  [#uses=1]
10*9880d681SAndroid Build Coastguard Worker  ret <2 x double> %res
11*9880d681SAndroid Build Coastguard Worker}
12*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_int_x86_xop_vpermil2pd_mr(<2 x double> %a0, <2 x double>* %a1, <2 x double> %a2) {
13*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd_mr:
14*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
15*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $1, %xmm1, (%rdi), %xmm0, %xmm0
16*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
17*9880d681SAndroid Build Coastguard Worker  %vec = load <2 x double>, <2 x double>* %a1
18*9880d681SAndroid Build Coastguard Worker  %res = call <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double> %a0, <2 x double> %vec, <2 x double> %a2, i8 1) ;  [#uses=1]
19*9880d681SAndroid Build Coastguard Worker  ret <2 x double> %res
20*9880d681SAndroid Build Coastguard Worker}
21*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_int_x86_xop_vpermil2pd_rm(<2 x double> %a0, <2 x double> %a1, <2 x double>* %a2) {
22*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd_rm:
23*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $1, (%rdi), %xmm1, %xmm0, %xmm0
25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
26*9880d681SAndroid Build Coastguard Worker  %vec = load <2 x double>, <2 x double>* %a2
27*9880d681SAndroid Build Coastguard Worker  %res = call <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double> %a0, <2 x double> %a1, <2 x double> %vec, i8 1) ;  [#uses=1]
28*9880d681SAndroid Build Coastguard Worker  ret <2 x double> %res
29*9880d681SAndroid Build Coastguard Worker}
30*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double>, <2 x double>, <2 x double>, i8) nounwind readnone
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_int_x86_xop_vpermil2pd_256(<4 x double> %a0, <4 x double> %a1, <4 x double> %a2) {
33*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd_256:
34*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
35*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $2, %ymm2, %ymm1, %ymm0, %ymm0
36*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
37*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double> %a0, <4 x double> %a1, <4 x double> %a2, i8 2) ;
38*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
39*9880d681SAndroid Build Coastguard Worker}
40*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_int_x86_xop_vpermil2pd_256_mr(<4 x double> %a0, <4 x double>* %a1, <4 x double> %a2) {
41*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd_256_mr:
42*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
43*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $2, %ymm1, (%rdi), %ymm0, %ymm0
44*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
45*9880d681SAndroid Build Coastguard Worker  %vec = load <4 x double>, <4 x double>* %a1
46*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double> %a0, <4 x double> %vec, <4 x double> %a2, i8 2) ;
47*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
48*9880d681SAndroid Build Coastguard Worker}
49*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_int_x86_xop_vpermil2pd_256_rm(<4 x double> %a0, <4 x double> %a1, <4 x double>* %a2) {
50*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2pd_256_rm:
51*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
52*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2pd $2, (%rdi), %ymm1, %ymm0, %ymm0
53*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
54*9880d681SAndroid Build Coastguard Worker  %vec = load <4 x double>, <4 x double>* %a2
55*9880d681SAndroid Build Coastguard Worker  %res = call <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double> %a0, <4 x double> %a1, <4 x double> %vec, i8 2) ;
56*9880d681SAndroid Build Coastguard Worker  ret <4 x double> %res
57*9880d681SAndroid Build Coastguard Worker}
58*9880d681SAndroid Build Coastguard Workerdeclare <4 x double> @llvm.x86.xop.vpermil2pd.256(<4 x double>, <4 x double>, <4 x double>, i8) nounwind readnone
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test_int_x86_xop_vpermil2ps(<4 x float> %a0, <4 x float> %a1, <4 x float> %a2) {
61*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2ps:
62*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
63*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2ps $3, %xmm2, %xmm1, %xmm0, %xmm0
64*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
65*9880d681SAndroid Build Coastguard Worker  %res = call <4 x float> @llvm.x86.xop.vpermil2ps(<4 x float> %a0, <4 x float> %a1, <4 x float> %a2, i8 3) ;
66*9880d681SAndroid Build Coastguard Worker  ret <4 x float> %res
67*9880d681SAndroid Build Coastguard Worker}
68*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.x86.xop.vpermil2ps(<4 x float>, <4 x float>, <4 x float>, i8) nounwind readnone
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test_int_x86_xop_vpermil2ps_256(<8 x float> %a0, <8 x float> %a1, <8 x float> %a2) {
71*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpermil2ps_256:
72*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
73*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpermil2ps $4, %ymm2, %ymm1, %ymm0, %ymm0
74*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
75*9880d681SAndroid Build Coastguard Worker  %res = call <8 x float> @llvm.x86.xop.vpermil2ps.256(<8 x float> %a0, <8 x float> %a1, <8 x float> %a2, i8 4) ;
76*9880d681SAndroid Build Coastguard Worker  ret <8 x float> %res
77*9880d681SAndroid Build Coastguard Worker}
78*9880d681SAndroid Build Coastguard Workerdeclare <8 x float> @llvm.x86.xop.vpermil2ps.256(<8 x float>, <8 x float>, <8 x float>, i8) nounwind readnone
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomeqb(<16 x i8> %a0, <16 x i8> %a1) {
81*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomeqb:
82*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
83*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomeqb %xmm1, %xmm0, %xmm0
84*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
85*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomeqb(<16 x i8> %a0, <16 x i8> %a1) ;
86*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
87*9880d681SAndroid Build Coastguard Worker}
88*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomeqb_mem(<16 x i8> %a0, <16 x i8>* %a1) {
89*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomeqb_mem:
90*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
91*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomeqb (%rdi), %xmm0, %xmm0
92*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
93*9880d681SAndroid Build Coastguard Worker  %vec = load <16 x i8>, <16 x i8>* %a1
94*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomeqb(<16 x i8> %a0, <16 x i8> %vec) ;
95*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
96*9880d681SAndroid Build Coastguard Worker}
97*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomeqb(<16 x i8>, <16 x i8>) nounwind readnone
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomeqw(<8 x i16> %a0, <8 x i16> %a1) {
100*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomeqw:
101*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
102*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomeqw %xmm1, %xmm0, %xmm0
103*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
104*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomeqw(<8 x i16> %a0, <8 x i16> %a1) ;
105*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
106*9880d681SAndroid Build Coastguard Worker}
107*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomeqw(<8 x i16>, <8 x i16>) nounwind readnone
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomeqd(<4 x i32> %a0, <4 x i32> %a1) {
110*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomeqd:
111*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
112*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomeqd %xmm1, %xmm0, %xmm0
113*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
114*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomeqd(<4 x i32> %a0, <4 x i32> %a1) ;
115*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
116*9880d681SAndroid Build Coastguard Worker}
117*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomeqd(<4 x i32>, <4 x i32>) nounwind readnone
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomeqq(<2 x i64> %a0, <2 x i64> %a1) {
120*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomeqq:
121*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
122*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomeqq %xmm1, %xmm0, %xmm0
123*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
124*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomeqq(<2 x i64> %a0, <2 x i64> %a1) ;
125*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
126*9880d681SAndroid Build Coastguard Worker}
127*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomeqq(<2 x i64>, <2 x i64>) nounwind readnone
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomequb(<16 x i8> %a0, <16 x i8> %a1) {
130*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomequb:
131*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
132*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomequb %xmm1, %xmm0, %xmm0
133*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
134*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomequb(<16 x i8> %a0, <16 x i8> %a1) ;
135*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
136*9880d681SAndroid Build Coastguard Worker}
137*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomequb(<16 x i8>, <16 x i8>) nounwind readnone
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomequd(<4 x i32> %a0, <4 x i32> %a1) {
140*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomequd:
141*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
142*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomequd %xmm1, %xmm0, %xmm0
143*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
144*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomequd(<4 x i32> %a0, <4 x i32> %a1) ;
145*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
146*9880d681SAndroid Build Coastguard Worker}
147*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomequd(<4 x i32>, <4 x i32>) nounwind readnone
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomequq(<2 x i64> %a0, <2 x i64> %a1) {
150*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomequq:
151*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
152*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomequq %xmm1, %xmm0, %xmm0
153*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
154*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomequq(<2 x i64> %a0, <2 x i64> %a1) ;
155*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
156*9880d681SAndroid Build Coastguard Worker}
157*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomequq(<2 x i64>, <2 x i64>) nounwind readnone
158*9880d681SAndroid Build Coastguard Worker
159*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomequw(<8 x i16> %a0, <8 x i16> %a1) {
160*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomequw:
161*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
162*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomequw %xmm1, %xmm0, %xmm0
163*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
164*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomequw(<8 x i16> %a0, <8 x i16> %a1) ;
165*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
166*9880d681SAndroid Build Coastguard Worker}
167*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomequw(<8 x i16>, <8 x i16>) nounwind readnone
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomfalseb(<16 x i8> %a0, <16 x i8> %a1) {
170*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseb:
171*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
172*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseb %xmm1, %xmm0, %xmm0
173*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
174*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomfalseb(<16 x i8> %a0, <16 x i8> %a1) ;
175*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
176*9880d681SAndroid Build Coastguard Worker}
177*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomfalseb(<16 x i8>, <16 x i8>) nounwind readnone
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomfalsed(<4 x i32> %a0, <4 x i32> %a1) {
180*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalsed:
181*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
182*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalsed %xmm1, %xmm0, %xmm0
183*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
184*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomfalsed(<4 x i32> %a0, <4 x i32> %a1) ;
185*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
186*9880d681SAndroid Build Coastguard Worker}
187*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomfalsed(<4 x i32>, <4 x i32>) nounwind readnone
188*9880d681SAndroid Build Coastguard Worker
189*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomfalseq(<2 x i64> %a0, <2 x i64> %a1) {
190*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseq:
191*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
192*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseq %xmm1, %xmm0, %xmm0
193*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
194*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomfalseq(<2 x i64> %a0, <2 x i64> %a1) ;
195*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
196*9880d681SAndroid Build Coastguard Worker}
197*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomfalseq(<2 x i64>, <2 x i64>) nounwind readnone
198*9880d681SAndroid Build Coastguard Worker
199*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomfalseub(<16 x i8> %a0, <16 x i8> %a1) {
200*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseub:
201*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
202*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseub %xmm1, %xmm0, %xmm0
203*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
204*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomfalseub(<16 x i8> %a0, <16 x i8> %a1) ;
205*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
206*9880d681SAndroid Build Coastguard Worker}
207*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomfalseub(<16 x i8>, <16 x i8>) nounwind readnone
208*9880d681SAndroid Build Coastguard Worker
209*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomfalseud(<4 x i32> %a0, <4 x i32> %a1) {
210*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseud:
211*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
212*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseud %xmm1, %xmm0, %xmm0
213*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
214*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomfalseud(<4 x i32> %a0, <4 x i32> %a1) ;
215*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
216*9880d681SAndroid Build Coastguard Worker}
217*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomfalseud(<4 x i32>, <4 x i32>) nounwind readnone
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomfalseuq(<2 x i64> %a0, <2 x i64> %a1) {
220*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseuq:
221*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
222*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseuq %xmm1, %xmm0, %xmm0
223*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
224*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomfalseuq(<2 x i64> %a0, <2 x i64> %a1) ;
225*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
226*9880d681SAndroid Build Coastguard Worker}
227*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomfalseuq(<2 x i64>, <2 x i64>) nounwind readnone
228*9880d681SAndroid Build Coastguard Worker
229*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomfalseuw(<8 x i16> %a0, <8 x i16> %a1) {
230*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalseuw:
231*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
232*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalseuw %xmm1, %xmm0, %xmm0
233*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
234*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomfalseuw(<8 x i16> %a0, <8 x i16> %a1) ;
235*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
236*9880d681SAndroid Build Coastguard Worker}
237*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomfalseuw(<8 x i16>, <8 x i16>) nounwind readnone
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomfalsew(<8 x i16> %a0, <8 x i16> %a1) {
240*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomfalsew:
241*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
242*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomfalsew %xmm1, %xmm0, %xmm0
243*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
244*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomfalsew(<8 x i16> %a0, <8 x i16> %a1) ;
245*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
246*9880d681SAndroid Build Coastguard Worker}
247*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomfalsew(<8 x i16>, <8 x i16>) nounwind readnone
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomgeb(<16 x i8> %a0, <16 x i8> %a1) {
250*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeb:
251*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
252*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeb %xmm1, %xmm0, %xmm0
253*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
254*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomgeb(<16 x i8> %a0, <16 x i8> %a1) ;
255*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
256*9880d681SAndroid Build Coastguard Worker}
257*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomgeb(<16 x i8>, <16 x i8>) nounwind readnone
258*9880d681SAndroid Build Coastguard Worker
259*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomged(<4 x i32> %a0, <4 x i32> %a1) {
260*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomged:
261*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
262*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomged %xmm1, %xmm0, %xmm0
263*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
264*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomged(<4 x i32> %a0, <4 x i32> %a1) ;
265*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
266*9880d681SAndroid Build Coastguard Worker}
267*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomged(<4 x i32>, <4 x i32>) nounwind readnone
268*9880d681SAndroid Build Coastguard Worker
269*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomgeq(<2 x i64> %a0, <2 x i64> %a1) {
270*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeq:
271*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
272*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeq %xmm1, %xmm0, %xmm0
273*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
274*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomgeq(<2 x i64> %a0, <2 x i64> %a1) ;
275*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
276*9880d681SAndroid Build Coastguard Worker}
277*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomgeq(<2 x i64>, <2 x i64>) nounwind readnone
278*9880d681SAndroid Build Coastguard Worker
279*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomgeub(<16 x i8> %a0, <16 x i8> %a1) {
280*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeub:
281*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
282*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeub %xmm1, %xmm0, %xmm0
283*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
284*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomgeub(<16 x i8> %a0, <16 x i8> %a1) ;
285*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
286*9880d681SAndroid Build Coastguard Worker}
287*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomgeub(<16 x i8>, <16 x i8>) nounwind readnone
288*9880d681SAndroid Build Coastguard Worker
289*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomgeud(<4 x i32> %a0, <4 x i32> %a1) {
290*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeud:
291*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
292*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeud %xmm1, %xmm0, %xmm0
293*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
294*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomgeud(<4 x i32> %a0, <4 x i32> %a1) ;
295*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
296*9880d681SAndroid Build Coastguard Worker}
297*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomgeud(<4 x i32>, <4 x i32>) nounwind readnone
298*9880d681SAndroid Build Coastguard Worker
299*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomgeuq(<2 x i64> %a0, <2 x i64> %a1) {
300*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeuq:
301*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
302*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeuq %xmm1, %xmm0, %xmm0
303*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
304*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomgeuq(<2 x i64> %a0, <2 x i64> %a1) ;
305*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
306*9880d681SAndroid Build Coastguard Worker}
307*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomgeuq(<2 x i64>, <2 x i64>) nounwind readnone
308*9880d681SAndroid Build Coastguard Worker
309*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomgeuw(<8 x i16> %a0, <8 x i16> %a1) {
310*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgeuw:
311*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
312*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgeuw %xmm1, %xmm0, %xmm0
313*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
314*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomgeuw(<8 x i16> %a0, <8 x i16> %a1) ;
315*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
316*9880d681SAndroid Build Coastguard Worker}
317*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomgeuw(<8 x i16>, <8 x i16>) nounwind readnone
318*9880d681SAndroid Build Coastguard Worker
319*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomgew(<8 x i16> %a0, <8 x i16> %a1) {
320*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgew:
321*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
322*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgew %xmm1, %xmm0, %xmm0
323*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
324*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomgew(<8 x i16> %a0, <8 x i16> %a1) ;
325*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
326*9880d681SAndroid Build Coastguard Worker}
327*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomgew(<8 x i16>, <8 x i16>) nounwind readnone
328*9880d681SAndroid Build Coastguard Worker
329*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomgtb(<16 x i8> %a0, <16 x i8> %a1) {
330*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtb:
331*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
332*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtb %xmm1, %xmm0, %xmm0
333*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
334*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomgtb(<16 x i8> %a0, <16 x i8> %a1) ;
335*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
336*9880d681SAndroid Build Coastguard Worker}
337*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomgtb(<16 x i8>, <16 x i8>) nounwind readnone
338*9880d681SAndroid Build Coastguard Worker
339*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomgtd(<4 x i32> %a0, <4 x i32> %a1) {
340*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtd:
341*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
342*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtd %xmm1, %xmm0, %xmm0
343*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
344*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomgtd(<4 x i32> %a0, <4 x i32> %a1) ;
345*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
346*9880d681SAndroid Build Coastguard Worker}
347*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomgtd(<4 x i32>, <4 x i32>) nounwind readnone
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomgtq(<2 x i64> %a0, <2 x i64> %a1) {
350*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtq:
351*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
352*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtq %xmm1, %xmm0, %xmm0
353*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
354*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomgtq(<2 x i64> %a0, <2 x i64> %a1) ;
355*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
356*9880d681SAndroid Build Coastguard Worker}
357*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomgtq(<2 x i64>, <2 x i64>) nounwind readnone
358*9880d681SAndroid Build Coastguard Worker
359*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomgtub(<16 x i8> %a0, <16 x i8> %a1) {
360*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtub:
361*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
362*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtub %xmm1, %xmm0, %xmm0
363*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
364*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomgtub(<16 x i8> %a0, <16 x i8> %a1) ;
365*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
366*9880d681SAndroid Build Coastguard Worker}
367*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomgtub(<16 x i8>, <16 x i8>) nounwind readnone
368*9880d681SAndroid Build Coastguard Worker
369*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomgtud(<4 x i32> %a0, <4 x i32> %a1) {
370*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtud:
371*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
372*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtud %xmm1, %xmm0, %xmm0
373*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
374*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomgtud(<4 x i32> %a0, <4 x i32> %a1) ;
375*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
376*9880d681SAndroid Build Coastguard Worker}
377*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomgtud(<4 x i32>, <4 x i32>) nounwind readnone
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomgtuq(<2 x i64> %a0, <2 x i64> %a1) {
380*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtuq:
381*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
382*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtuq %xmm1, %xmm0, %xmm0
383*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
384*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomgtuq(<2 x i64> %a0, <2 x i64> %a1) ;
385*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
386*9880d681SAndroid Build Coastguard Worker}
387*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomgtuq(<2 x i64>, <2 x i64>) nounwind readnone
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomgtuw(<8 x i16> %a0, <8 x i16> %a1) {
390*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtuw:
391*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
392*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtuw %xmm1, %xmm0, %xmm0
393*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
394*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomgtuw(<8 x i16> %a0, <8 x i16> %a1) ;
395*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
396*9880d681SAndroid Build Coastguard Worker}
397*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomgtuw(<8 x i16>, <8 x i16>) nounwind readnone
398*9880d681SAndroid Build Coastguard Worker
399*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomgtw(<8 x i16> %a0, <8 x i16> %a1) {
400*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomgtw:
401*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
402*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomgtw %xmm1, %xmm0, %xmm0
403*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
404*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomgtw(<8 x i16> %a0, <8 x i16> %a1) ;
405*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
406*9880d681SAndroid Build Coastguard Worker}
407*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomgtw(<8 x i16>, <8 x i16>) nounwind readnone
408*9880d681SAndroid Build Coastguard Worker
409*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomleb(<16 x i8> %a0, <16 x i8> %a1) {
410*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleb:
411*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
412*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleb %xmm1, %xmm0, %xmm0
413*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
414*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomleb(<16 x i8> %a0, <16 x i8> %a1) ;
415*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
416*9880d681SAndroid Build Coastguard Worker}
417*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomleb(<16 x i8>, <16 x i8>) nounwind readnone
418*9880d681SAndroid Build Coastguard Worker
419*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomled(<4 x i32> %a0, <4 x i32> %a1) {
420*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomled:
421*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
422*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomled %xmm1, %xmm0, %xmm0
423*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
424*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomled(<4 x i32> %a0, <4 x i32> %a1) ;
425*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
426*9880d681SAndroid Build Coastguard Worker}
427*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomled(<4 x i32>, <4 x i32>) nounwind readnone
428*9880d681SAndroid Build Coastguard Worker
429*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomleq(<2 x i64> %a0, <2 x i64> %a1) {
430*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleq:
431*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
432*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleq %xmm1, %xmm0, %xmm0
433*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
434*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomleq(<2 x i64> %a0, <2 x i64> %a1) ;
435*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
436*9880d681SAndroid Build Coastguard Worker}
437*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomleq(<2 x i64>, <2 x i64>) nounwind readnone
438*9880d681SAndroid Build Coastguard Worker
439*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomleub(<16 x i8> %a0, <16 x i8> %a1) {
440*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleub:
441*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
442*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleub %xmm1, %xmm0, %xmm0
443*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
444*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomleub(<16 x i8> %a0, <16 x i8> %a1) ;
445*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
446*9880d681SAndroid Build Coastguard Worker}
447*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomleub(<16 x i8>, <16 x i8>) nounwind readnone
448*9880d681SAndroid Build Coastguard Worker
449*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomleud(<4 x i32> %a0, <4 x i32> %a1) {
450*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleud:
451*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
452*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleud %xmm1, %xmm0, %xmm0
453*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
454*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomleud(<4 x i32> %a0, <4 x i32> %a1) ;
455*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
456*9880d681SAndroid Build Coastguard Worker}
457*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomleud(<4 x i32>, <4 x i32>) nounwind readnone
458*9880d681SAndroid Build Coastguard Worker
459*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomleuq(<2 x i64> %a0, <2 x i64> %a1) {
460*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleuq:
461*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
462*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleuq %xmm1, %xmm0, %xmm0
463*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
464*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomleuq(<2 x i64> %a0, <2 x i64> %a1) ;
465*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
466*9880d681SAndroid Build Coastguard Worker}
467*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomleuq(<2 x i64>, <2 x i64>) nounwind readnone
468*9880d681SAndroid Build Coastguard Worker
469*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomleuw(<8 x i16> %a0, <8 x i16> %a1) {
470*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomleuw:
471*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
472*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomleuw %xmm1, %xmm0, %xmm0
473*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
474*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomleuw(<8 x i16> %a0, <8 x i16> %a1) ;
475*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
476*9880d681SAndroid Build Coastguard Worker}
477*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomleuw(<8 x i16>, <8 x i16>) nounwind readnone
478*9880d681SAndroid Build Coastguard Worker
479*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomlew(<8 x i16> %a0, <8 x i16> %a1) {
480*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomlew:
481*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
482*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomlew %xmm1, %xmm0, %xmm0
483*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
484*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomlew(<8 x i16> %a0, <8 x i16> %a1) ;
485*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
486*9880d681SAndroid Build Coastguard Worker}
487*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomlew(<8 x i16>, <8 x i16>) nounwind readnone
488*9880d681SAndroid Build Coastguard Worker
489*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomltb(<16 x i8> %a0, <16 x i8> %a1) {
490*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltb:
491*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
492*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltb %xmm1, %xmm0, %xmm0
493*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
494*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomltb(<16 x i8> %a0, <16 x i8> %a1) ;
495*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
496*9880d681SAndroid Build Coastguard Worker}
497*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomltb(<16 x i8>, <16 x i8>) nounwind readnone
498*9880d681SAndroid Build Coastguard Worker
499*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomltd(<4 x i32> %a0, <4 x i32> %a1) {
500*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltd:
501*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
502*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltd %xmm1, %xmm0, %xmm0
503*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
504*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomltd(<4 x i32> %a0, <4 x i32> %a1) ;
505*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
506*9880d681SAndroid Build Coastguard Worker}
507*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomltd(<4 x i32>, <4 x i32>) nounwind readnone
508*9880d681SAndroid Build Coastguard Worker
509*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomltq(<2 x i64> %a0, <2 x i64> %a1) {
510*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltq:
511*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
512*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltq %xmm1, %xmm0, %xmm0
513*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
514*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomltq(<2 x i64> %a0, <2 x i64> %a1) ;
515*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
516*9880d681SAndroid Build Coastguard Worker}
517*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomltq(<2 x i64>, <2 x i64>) nounwind readnone
518*9880d681SAndroid Build Coastguard Worker
519*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomltub(<16 x i8> %a0, <16 x i8> %a1) {
520*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltub:
521*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
522*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltub %xmm1, %xmm0, %xmm0
523*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
524*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomltub(<16 x i8> %a0, <16 x i8> %a1) ;
525*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
526*9880d681SAndroid Build Coastguard Worker}
527*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomltub(<16 x i8>, <16 x i8>) nounwind readnone
528*9880d681SAndroid Build Coastguard Worker
529*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomltud(<4 x i32> %a0, <4 x i32> %a1) {
530*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltud:
531*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
532*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltud %xmm1, %xmm0, %xmm0
533*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
534*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomltud(<4 x i32> %a0, <4 x i32> %a1) ;
535*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
536*9880d681SAndroid Build Coastguard Worker}
537*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomltud(<4 x i32>, <4 x i32>) nounwind readnone
538*9880d681SAndroid Build Coastguard Worker
539*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomltuq(<2 x i64> %a0, <2 x i64> %a1) {
540*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltuq:
541*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
542*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltuq %xmm1, %xmm0, %xmm0
543*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
544*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomltuq(<2 x i64> %a0, <2 x i64> %a1) ;
545*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
546*9880d681SAndroid Build Coastguard Worker}
547*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomltuq(<2 x i64>, <2 x i64>) nounwind readnone
548*9880d681SAndroid Build Coastguard Worker
549*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomltuw(<8 x i16> %a0, <8 x i16> %a1) {
550*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltuw:
551*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
552*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltuw %xmm1, %xmm0, %xmm0
553*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
554*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomltuw(<8 x i16> %a0, <8 x i16> %a1) ;
555*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
556*9880d681SAndroid Build Coastguard Worker}
557*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomltuw(<8 x i16>, <8 x i16>) nounwind readnone
558*9880d681SAndroid Build Coastguard Worker
559*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomltw(<8 x i16> %a0, <8 x i16> %a1) {
560*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomltw:
561*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
562*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomltw %xmm1, %xmm0, %xmm0
563*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
564*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomltw(<8 x i16> %a0, <8 x i16> %a1) ;
565*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
566*9880d681SAndroid Build Coastguard Worker}
567*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomltw(<8 x i16>, <8 x i16>) nounwind readnone
568*9880d681SAndroid Build Coastguard Worker
569*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomneb(<16 x i8> %a0, <16 x i8> %a1) {
570*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneb:
571*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
572*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomneqb %xmm1, %xmm0, %xmm0
573*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
574*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomneb(<16 x i8> %a0, <16 x i8> %a1) ;
575*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
576*9880d681SAndroid Build Coastguard Worker}
577*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomneb(<16 x i8>, <16 x i8>) nounwind readnone
578*9880d681SAndroid Build Coastguard Worker
579*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomned(<4 x i32> %a0, <4 x i32> %a1) {
580*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomned:
581*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
582*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomneqd %xmm1, %xmm0, %xmm0
583*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
584*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomned(<4 x i32> %a0, <4 x i32> %a1) ;
585*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
586*9880d681SAndroid Build Coastguard Worker}
587*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomned(<4 x i32>, <4 x i32>) nounwind readnone
588*9880d681SAndroid Build Coastguard Worker
589*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomneq(<2 x i64> %a0, <2 x i64> %a1) {
590*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneq:
591*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
592*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomneqq %xmm1, %xmm0, %xmm0
593*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
594*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomneq(<2 x i64> %a0, <2 x i64> %a1) ;
595*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
596*9880d681SAndroid Build Coastguard Worker}
597*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomneq(<2 x i64>, <2 x i64>) nounwind readnone
598*9880d681SAndroid Build Coastguard Worker
599*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomneub(<16 x i8> %a0, <16 x i8> %a1) {
600*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneub:
601*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
602*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomnequb %xmm1, %xmm0, %xmm0
603*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
604*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomneub(<16 x i8> %a0, <16 x i8> %a1) ;
605*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
606*9880d681SAndroid Build Coastguard Worker}
607*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomneub(<16 x i8>, <16 x i8>) nounwind readnone
608*9880d681SAndroid Build Coastguard Worker
609*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomneud(<4 x i32> %a0, <4 x i32> %a1) {
610*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneud:
611*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
612*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomnequd %xmm1, %xmm0, %xmm0
613*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
614*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomneud(<4 x i32> %a0, <4 x i32> %a1) ;
615*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
616*9880d681SAndroid Build Coastguard Worker}
617*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomneud(<4 x i32>, <4 x i32>) nounwind readnone
618*9880d681SAndroid Build Coastguard Worker
619*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomneuq(<2 x i64> %a0, <2 x i64> %a1) {
620*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneuq:
621*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
622*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomnequq %xmm1, %xmm0, %xmm0
623*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
624*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomneuq(<2 x i64> %a0, <2 x i64> %a1) ;
625*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
626*9880d681SAndroid Build Coastguard Worker}
627*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomneuq(<2 x i64>, <2 x i64>) nounwind readnone
628*9880d681SAndroid Build Coastguard Worker
629*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomneuw(<8 x i16> %a0, <8 x i16> %a1) {
630*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomneuw:
631*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
632*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomnequw %xmm1, %xmm0, %xmm0
633*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
634*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomneuw(<8 x i16> %a0, <8 x i16> %a1) ;
635*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
636*9880d681SAndroid Build Coastguard Worker}
637*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomneuw(<8 x i16>, <8 x i16>) nounwind readnone
638*9880d681SAndroid Build Coastguard Worker
639*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomnew(<8 x i16> %a0, <8 x i16> %a1) {
640*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomnew:
641*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
642*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomneqw %xmm1, %xmm0, %xmm0
643*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
644*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomnew(<8 x i16> %a0, <8 x i16> %a1) ;
645*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
646*9880d681SAndroid Build Coastguard Worker}
647*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomnew(<8 x i16>, <8 x i16>) nounwind readnone
648*9880d681SAndroid Build Coastguard Worker
649*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomtrueb(<16 x i8> %a0, <16 x i8> %a1) {
650*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueb:
651*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
652*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueb %xmm1, %xmm0, %xmm0
653*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
654*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomtrueb(<16 x i8> %a0, <16 x i8> %a1) ;
655*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
656*9880d681SAndroid Build Coastguard Worker}
657*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomtrueb(<16 x i8>, <16 x i8>) nounwind readnone
658*9880d681SAndroid Build Coastguard Worker
659*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomtrued(<4 x i32> %a0, <4 x i32> %a1) {
660*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrued:
661*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
662*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrued %xmm1, %xmm0, %xmm0
663*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
664*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomtrued(<4 x i32> %a0, <4 x i32> %a1) ;
665*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
666*9880d681SAndroid Build Coastguard Worker}
667*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomtrued(<4 x i32>, <4 x i32>) nounwind readnone
668*9880d681SAndroid Build Coastguard Worker
669*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomtrueq(<2 x i64> %a0, <2 x i64> %a1) {
670*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueq:
671*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
672*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueq %xmm1, %xmm0, %xmm0
673*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
674*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomtrueq(<2 x i64> %a0, <2 x i64> %a1) ;
675*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
676*9880d681SAndroid Build Coastguard Worker}
677*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomtrueq(<2 x i64>, <2 x i64>) nounwind readnone
678*9880d681SAndroid Build Coastguard Worker
679*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_int_x86_xop_vpcomtrueub(<16 x i8> %a0, <16 x i8> %a1) {
680*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueub:
681*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
682*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueub %xmm1, %xmm0, %xmm0
683*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
684*9880d681SAndroid Build Coastguard Worker  %res = call <16 x i8> @llvm.x86.xop.vpcomtrueub(<16 x i8> %a0, <16 x i8> %a1) ;
685*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %res
686*9880d681SAndroid Build Coastguard Worker}
687*9880d681SAndroid Build Coastguard Workerdeclare <16 x i8> @llvm.x86.xop.vpcomtrueub(<16 x i8>, <16 x i8>) nounwind readnone
688*9880d681SAndroid Build Coastguard Worker
689*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_int_x86_xop_vpcomtrueud(<4 x i32> %a0, <4 x i32> %a1) {
690*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueud:
691*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
692*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueud %xmm1, %xmm0, %xmm0
693*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
694*9880d681SAndroid Build Coastguard Worker  %res = call <4 x i32> @llvm.x86.xop.vpcomtrueud(<4 x i32> %a0, <4 x i32> %a1) ;
695*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %res
696*9880d681SAndroid Build Coastguard Worker}
697*9880d681SAndroid Build Coastguard Workerdeclare <4 x i32> @llvm.x86.xop.vpcomtrueud(<4 x i32>, <4 x i32>) nounwind readnone
698*9880d681SAndroid Build Coastguard Worker
699*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_int_x86_xop_vpcomtrueuq(<2 x i64> %a0, <2 x i64> %a1) {
700*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueuq:
701*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
702*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueuq %xmm1, %xmm0, %xmm0
703*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
704*9880d681SAndroid Build Coastguard Worker  %res = call <2 x i64> @llvm.x86.xop.vpcomtrueuq(<2 x i64> %a0, <2 x i64> %a1) ;
705*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %res
706*9880d681SAndroid Build Coastguard Worker}
707*9880d681SAndroid Build Coastguard Workerdeclare <2 x i64> @llvm.x86.xop.vpcomtrueuq(<2 x i64>, <2 x i64>) nounwind readnone
708*9880d681SAndroid Build Coastguard Worker
709*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomtrueuw(<8 x i16> %a0, <8 x i16> %a1) {
710*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtrueuw:
711*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
712*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtrueuw %xmm1, %xmm0, %xmm0
713*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
714*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomtrueuw(<8 x i16> %a0, <8 x i16> %a1) ;
715*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
716*9880d681SAndroid Build Coastguard Worker}
717*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomtrueuw(<8 x i16>, <8 x i16>) nounwind readnone
718*9880d681SAndroid Build Coastguard Worker
719*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_int_x86_xop_vpcomtruew(<8 x i16> %a0, <8 x i16> %a1) {
720*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_int_x86_xop_vpcomtruew:
721*9880d681SAndroid Build Coastguard Worker; CHECK:       # BB#0:
722*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    vpcomtruew %xmm1, %xmm0, %xmm0
723*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    retq
724*9880d681SAndroid Build Coastguard Worker  %res = call <8 x i16> @llvm.x86.xop.vpcomtruew(<8 x i16> %a0, <8 x i16> %a1) ;
725*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %res
726*9880d681SAndroid Build Coastguard Worker}
727*9880d681SAndroid Build Coastguard Workerdeclare <8 x i16> @llvm.x86.xop.vpcomtruew(<8 x i16>, <8 x i16>) nounwind readnone
728