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