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=i386-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X32 --check-prefix=X32-SSE 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-unknown -mattr=+avx | FileCheck %s --check-prefix=X32 --check-prefix=X32-AVX 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X64 --check-prefix=X64-SSE 5*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @coo() nounwind { 8*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: coo: 9*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 10*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 11*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 12*9880d681SAndroid Build Coastguard Worker; 13*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: coo: 14*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 15*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 16*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 17*9880d681SAndroid Build Coastguard Worker; 18*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: coo: 19*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 20*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 21*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 22*9880d681SAndroid Build Coastguard Worker; 23*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: coo: 24*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 25*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 26*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 27*9880d681SAndroid Build Coastguard Worker ret <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1> 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @soo() nounwind { 31*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: soo: 32*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 33*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 34*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 35*9880d681SAndroid Build Coastguard Worker; 36*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: soo: 37*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 38*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 39*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 40*9880d681SAndroid Build Coastguard Worker; 41*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: soo: 42*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 43*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 44*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 45*9880d681SAndroid Build Coastguard Worker; 46*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: soo: 47*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 48*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 49*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 50*9880d681SAndroid Build Coastguard Worker ret <8 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1> 51*9880d681SAndroid Build Coastguard Worker} 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @ioo() nounwind { 54*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: ioo: 55*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 56*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 57*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 58*9880d681SAndroid Build Coastguard Worker; 59*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: ioo: 60*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 61*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 62*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 63*9880d681SAndroid Build Coastguard Worker; 64*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: ioo: 65*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 66*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 67*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 68*9880d681SAndroid Build Coastguard Worker; 69*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: ioo: 70*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 71*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 72*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 73*9880d681SAndroid Build Coastguard Worker ret <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> 74*9880d681SAndroid Build Coastguard Worker} 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @loo() nounwind { 77*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: loo: 78*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 79*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 80*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 81*9880d681SAndroid Build Coastguard Worker; 82*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: loo: 83*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 84*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 85*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 86*9880d681SAndroid Build Coastguard Worker; 87*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: loo: 88*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 89*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 90*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 91*9880d681SAndroid Build Coastguard Worker; 92*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: loo: 93*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 94*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 95*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 96*9880d681SAndroid Build Coastguard Worker ret <2 x i64> <i64 -1, i64 -1> 97*9880d681SAndroid Build Coastguard Worker} 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @doo() nounwind { 100*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: doo: 101*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 102*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 103*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 104*9880d681SAndroid Build Coastguard Worker; 105*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: doo: 106*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 107*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 108*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 109*9880d681SAndroid Build Coastguard Worker; 110*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: doo: 111*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 112*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 113*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 114*9880d681SAndroid Build Coastguard Worker; 115*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: doo: 116*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 117*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 118*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 119*9880d681SAndroid Build Coastguard Worker ret <2 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff> 120*9880d681SAndroid Build Coastguard Worker} 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @foo() nounwind { 123*9880d681SAndroid Build Coastguard Worker; X32-SSE-LABEL: foo: 124*9880d681SAndroid Build Coastguard Worker; X32-SSE: # BB#0: 125*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0 126*9880d681SAndroid Build Coastguard Worker; X32-SSE-NEXT: retl 127*9880d681SAndroid Build Coastguard Worker; 128*9880d681SAndroid Build Coastguard Worker; X32-AVX-LABEL: foo: 129*9880d681SAndroid Build Coastguard Worker; X32-AVX: # BB#0: 130*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 131*9880d681SAndroid Build Coastguard Worker; X32-AVX-NEXT: retl 132*9880d681SAndroid Build Coastguard Worker; 133*9880d681SAndroid Build Coastguard Worker; X64-SSE-LABEL: foo: 134*9880d681SAndroid Build Coastguard Worker; X64-SSE: # BB#0: 135*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: pcmpeqd %xmm0, %xmm0 136*9880d681SAndroid Build Coastguard Worker; X64-SSE-NEXT: retq 137*9880d681SAndroid Build Coastguard Worker; 138*9880d681SAndroid Build Coastguard Worker; X64-AVX-LABEL: foo: 139*9880d681SAndroid Build Coastguard Worker; X64-AVX: # BB#0: 140*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 141*9880d681SAndroid Build Coastguard Worker; X64-AVX-NEXT: retq 142*9880d681SAndroid Build Coastguard Worker ret <4 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000> 143*9880d681SAndroid Build Coastguard Worker} 144