1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+mmx,+ssse3 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_cvtpd2pi(<2 x double> %a0) { 4*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvtpd2pi 5*9880d681SAndroid Build Coastguard Worker ;CHECK: cvtpd2pi {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 16-byte Folded Reload 6*9880d681SAndroid Build Coastguard Worker %1 = tail call <2 x i64> asm sideeffect "nop", "=x,~{xmm1},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{flags}"() 7*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.sse.cvtpd2pi(<2 x double> %a0) nounwind readnone 8*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 9*9880d681SAndroid Build Coastguard Worker} 10*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.sse.cvtpd2pi(<2 x double>) nounwind readnone 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @stack_fold_cvtpi2pd(x86_mmx %a0) { 13*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvtpi2pd 14*9880d681SAndroid Build Coastguard Worker ;CHECK: cvtpi2pd {{-?[0-9]*}}(%rsp), {{%xmm[0-9][0-9]*}} {{.*#+}} 8-byte Folded Reload 15*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 16*9880d681SAndroid Build Coastguard Worker %2 = call <2 x double> @llvm.x86.sse.cvtpi2pd(x86_mmx %a0) nounwind readnone 17*9880d681SAndroid Build Coastguard Worker ret <2 x double> %2 18*9880d681SAndroid Build Coastguard Worker} 19*9880d681SAndroid Build Coastguard Workerdeclare <2 x double> @llvm.x86.sse.cvtpi2pd(x86_mmx) nounwind readnone 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @stack_fold_cvtpi2ps(<4 x float> %a0, x86_mmx %a1) { 22*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvtpi2ps 23*9880d681SAndroid Build Coastguard Worker ;CHECK: cvtpi2ps {{-?[0-9]*}}(%rsp), {{%xmm[0-9][0-9]*}} {{.*#+}} 8-byte Folded Reload 24*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 25*9880d681SAndroid Build Coastguard Worker %2 = call <4 x float> @llvm.x86.sse.cvtpi2ps(<4 x float> %a0, x86_mmx %a1) nounwind readnone 26*9880d681SAndroid Build Coastguard Worker ret <4 x float> %2 27*9880d681SAndroid Build Coastguard Worker} 28*9880d681SAndroid Build Coastguard Workerdeclare <4 x float> @llvm.x86.sse.cvtpi2ps(<4 x float>, x86_mmx) nounwind readnone 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_cvtps2pi(<4 x float> %a0) { 31*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvtps2pi 32*9880d681SAndroid Build Coastguard Worker ;CHECK: cvtps2pi {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 16-byte Folded Reload 33*9880d681SAndroid Build Coastguard Worker %1 = tail call <2 x i64> asm sideeffect "nop", "=x,~{xmm1},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{flags}"() 34*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.sse.cvtps2pi(<4 x float> %a0) nounwind readnone 35*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.sse.cvtps2pi(<4 x float>) nounwind readnone 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_cvttpd2pi(<2 x double> %a0) { 40*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvttpd2pi 41*9880d681SAndroid Build Coastguard Worker ;CHECK: cvttpd2pi {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 16-byte Folded Reload 42*9880d681SAndroid Build Coastguard Worker %1 = tail call <2 x i64> asm sideeffect "nop", "=x,~{xmm1},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{flags}"() 43*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.sse.cvttpd2pi(<2 x double> %a0) nounwind readnone 44*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 45*9880d681SAndroid Build Coastguard Worker} 46*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.sse.cvttpd2pi(<2 x double>) nounwind readnone 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_cvttps2pi(<4 x float> %a0) { 49*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_cvttps2pi 50*9880d681SAndroid Build Coastguard Worker ;CHECK: cvttps2pi {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 16-byte Folded Reload 51*9880d681SAndroid Build Coastguard Worker %1 = tail call <2 x i64> asm sideeffect "nop", "=x,~{xmm1},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15},~{flags}"() 52*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.sse.cvttps2pi(<4 x float> %a0) nounwind readnone 53*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 54*9880d681SAndroid Build Coastguard Worker} 55*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.sse.cvttps2pi(<4 x float>) nounwind readnone 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard Worker; TODO stack_fold_movd_load 58*9880d681SAndroid Build Coastguard Worker; TODO stack_fold_movd_store 59*9880d681SAndroid Build Coastguard Worker; TODO stack_fold_movq_load 60*9880d681SAndroid Build Coastguard Worker; TODO stack_fold_movq_store 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pabsb(x86_mmx %a0) { 63*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pabsb 64*9880d681SAndroid Build Coastguard Worker ;CHECK: pabsb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 65*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 66*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pabs.b(x86_mmx %a0) nounwind readnone 67*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 68*9880d681SAndroid Build Coastguard Worker} 69*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pabs.b(x86_mmx) nounwind readnone 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pabsd(x86_mmx %a0) { 72*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pabsd 73*9880d681SAndroid Build Coastguard Worker ;CHECK: pabsd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 74*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 75*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pabs.d(x86_mmx %a0) nounwind readnone 76*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 77*9880d681SAndroid Build Coastguard Worker} 78*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pabs.d(x86_mmx) nounwind readnone 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pabsw(x86_mmx %a0) { 81*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pabsw 82*9880d681SAndroid Build Coastguard Worker ;CHECK: pabsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 83*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 84*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pabs.w(x86_mmx %a0) nounwind readnone 85*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 86*9880d681SAndroid Build Coastguard Worker} 87*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pabs.w(x86_mmx) nounwind readnone 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_packssdw(x86_mmx %a, x86_mmx %b) { 90*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_packssdw 91*9880d681SAndroid Build Coastguard Worker ;CHECK: packssdw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 92*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 93*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.packssdw(x86_mmx %a, x86_mmx %b) nounwind readnone 94*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 95*9880d681SAndroid Build Coastguard Worker} 96*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.packssdw(x86_mmx, x86_mmx) nounwind readnone 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_packsswb(x86_mmx %a, x86_mmx %b) { 99*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_packsswb 100*9880d681SAndroid Build Coastguard Worker ;CHECK: packsswb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 101*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 102*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.packsswb(x86_mmx %a, x86_mmx %b) nounwind readnone 103*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 104*9880d681SAndroid Build Coastguard Worker} 105*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.packsswb(x86_mmx, x86_mmx) nounwind readnone 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_packuswb(x86_mmx %a, x86_mmx %b) { 108*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_packuswb 109*9880d681SAndroid Build Coastguard Worker ;CHECK: packuswb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 110*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 111*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.packuswb(x86_mmx %a, x86_mmx %b) nounwind readnone 112*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 113*9880d681SAndroid Build Coastguard Worker} 114*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.packuswb(x86_mmx, x86_mmx) nounwind readnone 115*9880d681SAndroid Build Coastguard Worker 116*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddb(x86_mmx %a, x86_mmx %b) { 117*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddb 118*9880d681SAndroid Build Coastguard Worker ;CHECK: paddb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 119*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 120*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padd.b(x86_mmx %a, x86_mmx %b) nounwind readnone 121*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 122*9880d681SAndroid Build Coastguard Worker} 123*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padd.b(x86_mmx, x86_mmx) nounwind readnone 124*9880d681SAndroid Build Coastguard Worker 125*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddd(x86_mmx %a, x86_mmx %b) { 126*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddd 127*9880d681SAndroid Build Coastguard Worker ;CHECK: paddd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 128*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 129*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padd.d(x86_mmx %a, x86_mmx %b) nounwind readnone 130*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 131*9880d681SAndroid Build Coastguard Worker} 132*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padd.d(x86_mmx, x86_mmx) nounwind readnone 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddq(x86_mmx %a, x86_mmx %b) { 135*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddq 136*9880d681SAndroid Build Coastguard Worker ;CHECK: paddq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 137*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 138*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padd.q(x86_mmx %a, x86_mmx %b) nounwind readnone 139*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 140*9880d681SAndroid Build Coastguard Worker} 141*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padd.q(x86_mmx, x86_mmx) nounwind readnone 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddsb(x86_mmx %a, x86_mmx %b) { 144*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddsb 145*9880d681SAndroid Build Coastguard Worker ;CHECK: paddsb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 146*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 147*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padds.b(x86_mmx %a, x86_mmx %b) nounwind readnone 148*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 149*9880d681SAndroid Build Coastguard Worker} 150*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padds.b(x86_mmx, x86_mmx) nounwind readnone 151*9880d681SAndroid Build Coastguard Worker 152*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddsw(x86_mmx %a, x86_mmx %b) { 153*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddsw 154*9880d681SAndroid Build Coastguard Worker ;CHECK: paddsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 155*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 156*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padds.w(x86_mmx %a, x86_mmx %b) nounwind readnone 157*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 158*9880d681SAndroid Build Coastguard Worker} 159*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padds.w(x86_mmx, x86_mmx) nounwind readnone 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddusb(x86_mmx %a, x86_mmx %b) { 162*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddusb 163*9880d681SAndroid Build Coastguard Worker ;CHECK: paddusb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 164*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 165*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.paddus.b(x86_mmx %a, x86_mmx %b) nounwind readnone 166*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 167*9880d681SAndroid Build Coastguard Worker} 168*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.paddus.b(x86_mmx, x86_mmx) nounwind readnone 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddusw(x86_mmx %a, x86_mmx %b) { 171*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddusw 172*9880d681SAndroid Build Coastguard Worker ;CHECK: paddusw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 173*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 174*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.paddus.w(x86_mmx %a, x86_mmx %b) nounwind readnone 175*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 176*9880d681SAndroid Build Coastguard Worker} 177*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.paddus.w(x86_mmx, x86_mmx) nounwind readnone 178*9880d681SAndroid Build Coastguard Worker 179*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_paddw(x86_mmx %a, x86_mmx %b) { 180*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_paddw 181*9880d681SAndroid Build Coastguard Worker ;CHECK: paddw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 182*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 183*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.padd.w(x86_mmx %a, x86_mmx %b) nounwind readnone 184*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 185*9880d681SAndroid Build Coastguard Worker} 186*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.padd.w(x86_mmx, x86_mmx) nounwind readnone 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_palignr(x86_mmx %a, x86_mmx %b) { 189*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_palignr 190*9880d681SAndroid Build Coastguard Worker ;CHECK: palignr $1, {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 191*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 192*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.palignr.b(x86_mmx %a, x86_mmx %b, i8 1) nounwind readnone 193*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 194*9880d681SAndroid Build Coastguard Worker} 195*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.palignr.b(x86_mmx, x86_mmx, i8) nounwind readnone 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pand(x86_mmx %a, x86_mmx %b) { 198*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pand 199*9880d681SAndroid Build Coastguard Worker ;CHECK: pand {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 200*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 201*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pand(x86_mmx %a, x86_mmx %b) nounwind readnone 202*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 203*9880d681SAndroid Build Coastguard Worker} 204*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pand(x86_mmx, x86_mmx) nounwind readnone 205*9880d681SAndroid Build Coastguard Worker 206*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pandn(x86_mmx %a, x86_mmx %b) { 207*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pandn 208*9880d681SAndroid Build Coastguard Worker ;CHECK: pandn {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 209*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 210*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pandn(x86_mmx %a, x86_mmx %b) nounwind readnone 211*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 212*9880d681SAndroid Build Coastguard Worker} 213*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pandn(x86_mmx, x86_mmx) nounwind readnone 214*9880d681SAndroid Build Coastguard Worker 215*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pavgb(x86_mmx %a, x86_mmx %b) { 216*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pavgb 217*9880d681SAndroid Build Coastguard Worker ;CHECK: pavgb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 218*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 219*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pavg.b(x86_mmx %a, x86_mmx %b) nounwind readnone 220*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 221*9880d681SAndroid Build Coastguard Worker} 222*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pavg.b(x86_mmx, x86_mmx) nounwind readnone 223*9880d681SAndroid Build Coastguard Worker 224*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pavgw(x86_mmx %a, x86_mmx %b) { 225*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pavgw 226*9880d681SAndroid Build Coastguard Worker ;CHECK: pavgw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 227*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 228*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pavg.w(x86_mmx %a, x86_mmx %b) nounwind readnone 229*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 230*9880d681SAndroid Build Coastguard Worker} 231*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pavg.w(x86_mmx, x86_mmx) nounwind readnone 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpeqb(x86_mmx %a, x86_mmx %b) { 234*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpeqb 235*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpeqb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 236*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 237*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpeq.b(x86_mmx %a, x86_mmx %b) nounwind readnone 238*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 239*9880d681SAndroid Build Coastguard Worker} 240*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpeq.b(x86_mmx, x86_mmx) nounwind readnone 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpeqd(x86_mmx %a, x86_mmx %b) { 243*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpeqd 244*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpeqd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 245*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 246*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpeq.d(x86_mmx %a, x86_mmx %b) nounwind readnone 247*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 248*9880d681SAndroid Build Coastguard Worker} 249*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpeq.d(x86_mmx, x86_mmx) nounwind readnone 250*9880d681SAndroid Build Coastguard Worker 251*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpeqw(x86_mmx %a, x86_mmx %b) { 252*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpeqw 253*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpeqw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 254*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 255*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpeq.w(x86_mmx %a, x86_mmx %b) nounwind readnone 256*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 257*9880d681SAndroid Build Coastguard Worker} 258*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpeq.w(x86_mmx, x86_mmx) nounwind readnone 259*9880d681SAndroid Build Coastguard Worker 260*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpgtb(x86_mmx %a, x86_mmx %b) { 261*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpgtb 262*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpgtb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 263*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 264*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpgt.b(x86_mmx %a, x86_mmx %b) nounwind readnone 265*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 266*9880d681SAndroid Build Coastguard Worker} 267*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpgt.b(x86_mmx, x86_mmx) nounwind readnone 268*9880d681SAndroid Build Coastguard Worker 269*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpgtd(x86_mmx %a, x86_mmx %b) { 270*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpgtd 271*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpgtd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 272*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 273*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpgt.d(x86_mmx %a, x86_mmx %b) nounwind readnone 274*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 275*9880d681SAndroid Build Coastguard Worker} 276*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpgt.d(x86_mmx, x86_mmx) nounwind readnone 277*9880d681SAndroid Build Coastguard Worker 278*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pcmpgtw(x86_mmx %a, x86_mmx %b) { 279*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pcmpgtw 280*9880d681SAndroid Build Coastguard Worker ;CHECK: pcmpgtw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 281*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 282*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pcmpgt.w(x86_mmx %a, x86_mmx %b) nounwind readnone 283*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 284*9880d681SAndroid Build Coastguard Worker} 285*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pcmpgt.w(x86_mmx, x86_mmx) nounwind readnone 286*9880d681SAndroid Build Coastguard Worker 287*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phaddd(x86_mmx %a, x86_mmx %b) { 288*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phaddd 289*9880d681SAndroid Build Coastguard Worker ;CHECK: phaddd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 290*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 291*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phadd.d(x86_mmx %a, x86_mmx %b) nounwind readnone 292*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 293*9880d681SAndroid Build Coastguard Worker} 294*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phadd.d(x86_mmx, x86_mmx) nounwind readnone 295*9880d681SAndroid Build Coastguard Worker 296*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phaddsw(x86_mmx %a, x86_mmx %b) { 297*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phaddsw 298*9880d681SAndroid Build Coastguard Worker ;CHECK: phaddsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 299*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 300*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phadd.sw(x86_mmx %a, x86_mmx %b) nounwind readnone 301*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 302*9880d681SAndroid Build Coastguard Worker} 303*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phadd.sw(x86_mmx, x86_mmx) nounwind readnone 304*9880d681SAndroid Build Coastguard Worker 305*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phaddw(x86_mmx %a, x86_mmx %b) { 306*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phaddw 307*9880d681SAndroid Build Coastguard Worker ;CHECK: phaddw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 308*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 309*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phadd.w(x86_mmx %a, x86_mmx %b) nounwind readnone 310*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 311*9880d681SAndroid Build Coastguard Worker} 312*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phadd.w(x86_mmx, x86_mmx) nounwind readnone 313*9880d681SAndroid Build Coastguard Worker 314*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phsubd(x86_mmx %a, x86_mmx %b) { 315*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phsubd 316*9880d681SAndroid Build Coastguard Worker ;CHECK: phsubd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 317*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 318*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phsub.d(x86_mmx %a, x86_mmx %b) nounwind readnone 319*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 320*9880d681SAndroid Build Coastguard Worker} 321*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phsub.d(x86_mmx, x86_mmx) nounwind readnone 322*9880d681SAndroid Build Coastguard Worker 323*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phsubsw(x86_mmx %a, x86_mmx %b) { 324*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phsubsw 325*9880d681SAndroid Build Coastguard Worker ;CHECK: phsubsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 326*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 327*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phsub.sw(x86_mmx %a, x86_mmx %b) nounwind readnone 328*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 329*9880d681SAndroid Build Coastguard Worker} 330*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phsub.sw(x86_mmx, x86_mmx) nounwind readnone 331*9880d681SAndroid Build Coastguard Worker 332*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_phsubw(x86_mmx %a, x86_mmx %b) { 333*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_phsubw 334*9880d681SAndroid Build Coastguard Worker ;CHECK: phsubw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 335*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 336*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.phsub.w(x86_mmx %a, x86_mmx %b) nounwind readnone 337*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 338*9880d681SAndroid Build Coastguard Worker} 339*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.phsub.w(x86_mmx, x86_mmx) nounwind readnone 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Worker; TODO stack_fold_pinsrw 342*9880d681SAndroid Build Coastguard Worker 343*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmaddubsw(x86_mmx %a, x86_mmx %b) { 344*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmaddubsw 345*9880d681SAndroid Build Coastguard Worker ;CHECK: pmaddubsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 346*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 347*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pmadd.ub.sw(x86_mmx %a, x86_mmx %b) nounwind readnone 348*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 349*9880d681SAndroid Build Coastguard Worker} 350*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pmadd.ub.sw(x86_mmx, x86_mmx) nounwind readnone 351*9880d681SAndroid Build Coastguard Worker 352*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmaddwd(x86_mmx %a, x86_mmx %b) { 353*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmaddwd 354*9880d681SAndroid Build Coastguard Worker ;CHECK: pmaddwd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 355*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 356*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmadd.wd(x86_mmx %a, x86_mmx %b) nounwind readnone 357*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 358*9880d681SAndroid Build Coastguard Worker} 359*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmadd.wd(x86_mmx, x86_mmx) nounwind readnone 360*9880d681SAndroid Build Coastguard Worker 361*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmaxsw(x86_mmx %a, x86_mmx %b) { 362*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmaxsw 363*9880d681SAndroid Build Coastguard Worker ;CHECK: pmaxsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 364*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 365*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmaxs.w(x86_mmx %a, x86_mmx %b) nounwind readnone 366*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 367*9880d681SAndroid Build Coastguard Worker} 368*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmaxs.w(x86_mmx, x86_mmx) nounwind readnone 369*9880d681SAndroid Build Coastguard Worker 370*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmaxub(x86_mmx %a, x86_mmx %b) { 371*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmaxub 372*9880d681SAndroid Build Coastguard Worker ;CHECK: pmaxub {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 373*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 374*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmaxu.b(x86_mmx %a, x86_mmx %b) nounwind readnone 375*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 376*9880d681SAndroid Build Coastguard Worker} 377*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmaxu.b(x86_mmx, x86_mmx) nounwind readnone 378*9880d681SAndroid Build Coastguard Worker 379*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pminsw(x86_mmx %a, x86_mmx %b) { 380*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pminsw 381*9880d681SAndroid Build Coastguard Worker ;CHECK: pminsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 382*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 383*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmins.w(x86_mmx %a, x86_mmx %b) nounwind readnone 384*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 385*9880d681SAndroid Build Coastguard Worker} 386*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmins.w(x86_mmx, x86_mmx) nounwind readnone 387*9880d681SAndroid Build Coastguard Worker 388*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pminub(x86_mmx %a, x86_mmx %b) { 389*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pminub 390*9880d681SAndroid Build Coastguard Worker ;CHECK: pminub {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 391*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 392*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pminu.b(x86_mmx %a, x86_mmx %b) nounwind readnone 393*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 394*9880d681SAndroid Build Coastguard Worker} 395*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pminu.b(x86_mmx, x86_mmx) nounwind readnone 396*9880d681SAndroid Build Coastguard Worker 397*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmulhrsw(x86_mmx %a, x86_mmx %b) { 398*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmulhrsw 399*9880d681SAndroid Build Coastguard Worker ;CHECK: pmulhrsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 400*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 401*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pmul.hr.sw(x86_mmx %a, x86_mmx %b) nounwind readnone 402*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 403*9880d681SAndroid Build Coastguard Worker} 404*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pmul.hr.sw(x86_mmx, x86_mmx) nounwind readnone 405*9880d681SAndroid Build Coastguard Worker 406*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmulhuw(x86_mmx %a, x86_mmx %b) { 407*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmulhuw 408*9880d681SAndroid Build Coastguard Worker ;CHECK: pmulhuw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 409*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 410*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmulhu.w(x86_mmx %a, x86_mmx %b) nounwind readnone 411*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 412*9880d681SAndroid Build Coastguard Worker} 413*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmulhu.w(x86_mmx, x86_mmx) nounwind readnone 414*9880d681SAndroid Build Coastguard Worker 415*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmulhw(x86_mmx %a, x86_mmx %b) { 416*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmulhw 417*9880d681SAndroid Build Coastguard Worker ;CHECK: pmulhw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 418*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 419*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmulh.w(x86_mmx %a, x86_mmx %b) nounwind readnone 420*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 421*9880d681SAndroid Build Coastguard Worker} 422*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmulh.w(x86_mmx, x86_mmx) nounwind readnone 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmullw(x86_mmx %a, x86_mmx %b) { 425*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmullw 426*9880d681SAndroid Build Coastguard Worker ;CHECK: pmullw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 427*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 428*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmull.w(x86_mmx %a, x86_mmx %b) nounwind readnone 429*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 430*9880d681SAndroid Build Coastguard Worker} 431*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmull.w(x86_mmx, x86_mmx) nounwind readnone 432*9880d681SAndroid Build Coastguard Worker 433*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pmuludq(x86_mmx %a, x86_mmx %b) { 434*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pmuludq 435*9880d681SAndroid Build Coastguard Worker ;CHECK: pmuludq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 436*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 437*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pmulu.dq(x86_mmx %a, x86_mmx %b) nounwind readnone 438*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 439*9880d681SAndroid Build Coastguard Worker} 440*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pmulu.dq(x86_mmx, x86_mmx) nounwind readnone 441*9880d681SAndroid Build Coastguard Worker 442*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_por(x86_mmx %a, x86_mmx %b) { 443*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_por 444*9880d681SAndroid Build Coastguard Worker ;CHECK: por {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 445*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 446*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.por(x86_mmx %a, x86_mmx %b) nounwind readnone 447*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 448*9880d681SAndroid Build Coastguard Worker} 449*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.por(x86_mmx, x86_mmx) nounwind readnone 450*9880d681SAndroid Build Coastguard Worker 451*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psadbw(x86_mmx %a, x86_mmx %b) { 452*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psadbw 453*9880d681SAndroid Build Coastguard Worker ;CHECK: psadbw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 454*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 455*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psad.bw(x86_mmx %a, x86_mmx %b) nounwind readnone 456*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 457*9880d681SAndroid Build Coastguard Worker} 458*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psad.bw(x86_mmx, x86_mmx) nounwind readnone 459*9880d681SAndroid Build Coastguard Worker 460*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pshufb(x86_mmx %a, x86_mmx %b) { 461*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pshufb 462*9880d681SAndroid Build Coastguard Worker ;CHECK: pshufb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 463*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 464*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.pshuf.b(x86_mmx %a, x86_mmx %b) nounwind readnone 465*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 466*9880d681SAndroid Build Coastguard Worker} 467*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.pshuf.b(x86_mmx, x86_mmx) nounwind readnone 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pshufw(x86_mmx %a) { 470*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pshufw 471*9880d681SAndroid Build Coastguard Worker ;CHECK: pshufw $1, {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 472*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm1},~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 473*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.sse.pshuf.w(x86_mmx %a, i8 1) nounwind readnone 474*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 475*9880d681SAndroid Build Coastguard Worker} 476*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.sse.pshuf.w(x86_mmx, i8) nounwind readnone 477*9880d681SAndroid Build Coastguard Worker 478*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psignb(x86_mmx %a0, x86_mmx %a1) { 479*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psignb 480*9880d681SAndroid Build Coastguard Worker ;CHECK: psignb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 481*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 482*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.psign.b(x86_mmx %a0, x86_mmx %a1) nounwind readnone 483*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 484*9880d681SAndroid Build Coastguard Worker} 485*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.psign.b(x86_mmx, x86_mmx) nounwind readnone 486*9880d681SAndroid Build Coastguard Worker 487*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psignd(x86_mmx %a0, x86_mmx %a1) { 488*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psignd 489*9880d681SAndroid Build Coastguard Worker ;CHECK: psignd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 490*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 491*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.psign.d(x86_mmx %a0, x86_mmx %a1) nounwind readnone 492*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 493*9880d681SAndroid Build Coastguard Worker} 494*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.psign.d(x86_mmx, x86_mmx) nounwind readnone 495*9880d681SAndroid Build Coastguard Worker 496*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psignw(x86_mmx %a0, x86_mmx %a1) { 497*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psignw 498*9880d681SAndroid Build Coastguard Worker ;CHECK: psignw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 499*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 500*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.ssse3.psign.w(x86_mmx %a0, x86_mmx %a1) nounwind readnone 501*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 502*9880d681SAndroid Build Coastguard Worker} 503*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.ssse3.psign.w(x86_mmx, x86_mmx) nounwind readnone 504*9880d681SAndroid Build Coastguard Worker 505*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pslld(x86_mmx %a, x86_mmx %b) { 506*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pslld 507*9880d681SAndroid Build Coastguard Worker ;CHECK: pslld {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 508*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 509*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psll.d(x86_mmx %a, x86_mmx %b) nounwind readnone 510*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 511*9880d681SAndroid Build Coastguard Worker} 512*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psll.d(x86_mmx, x86_mmx) nounwind readnone 513*9880d681SAndroid Build Coastguard Worker 514*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psllq(x86_mmx %a, x86_mmx %b) { 515*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psllq 516*9880d681SAndroid Build Coastguard Worker ;CHECK: psllq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 517*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 518*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psll.q(x86_mmx %a, x86_mmx %b) nounwind readnone 519*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 520*9880d681SAndroid Build Coastguard Worker} 521*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psll.q(x86_mmx, x86_mmx) nounwind readnone 522*9880d681SAndroid Build Coastguard Worker 523*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psllw(x86_mmx %a, x86_mmx %b) { 524*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psllw 525*9880d681SAndroid Build Coastguard Worker ;CHECK: psllw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 526*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 527*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psll.w(x86_mmx %a, x86_mmx %b) nounwind readnone 528*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 529*9880d681SAndroid Build Coastguard Worker} 530*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psll.w(x86_mmx, x86_mmx) nounwind readnone 531*9880d681SAndroid Build Coastguard Worker 532*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psrad(x86_mmx %a, x86_mmx %b) { 533*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psrad 534*9880d681SAndroid Build Coastguard Worker ;CHECK: psrad {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 535*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 536*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psra.d(x86_mmx %a, x86_mmx %b) nounwind readnone 537*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 538*9880d681SAndroid Build Coastguard Worker} 539*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psra.d(x86_mmx, x86_mmx) nounwind readnone 540*9880d681SAndroid Build Coastguard Worker 541*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psraw(x86_mmx %a, x86_mmx %b) { 542*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psraw 543*9880d681SAndroid Build Coastguard Worker ;CHECK: psraw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 544*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 545*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psra.w(x86_mmx %a, x86_mmx %b) nounwind readnone 546*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 547*9880d681SAndroid Build Coastguard Worker} 548*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psra.w(x86_mmx, x86_mmx) nounwind readnone 549*9880d681SAndroid Build Coastguard Worker 550*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psrld(x86_mmx %a, x86_mmx %b) { 551*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psrld 552*9880d681SAndroid Build Coastguard Worker ;CHECK: psrld {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 553*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 554*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psrl.d(x86_mmx %a, x86_mmx %b) nounwind readnone 555*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 556*9880d681SAndroid Build Coastguard Worker} 557*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psrl.d(x86_mmx, x86_mmx) nounwind readnone 558*9880d681SAndroid Build Coastguard Worker 559*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psrlq(x86_mmx %a, x86_mmx %b) { 560*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psrlq 561*9880d681SAndroid Build Coastguard Worker ;CHECK: psrlq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 562*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 563*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psrl.q(x86_mmx %a, x86_mmx %b) nounwind readnone 564*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 565*9880d681SAndroid Build Coastguard Worker} 566*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psrl.q(x86_mmx, x86_mmx) nounwind readnone 567*9880d681SAndroid Build Coastguard Worker 568*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psrlw(x86_mmx %a, x86_mmx %b) { 569*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psrlw 570*9880d681SAndroid Build Coastguard Worker ;CHECK: psrlw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 571*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 572*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psrl.w(x86_mmx %a, x86_mmx %b) nounwind readnone 573*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 574*9880d681SAndroid Build Coastguard Worker} 575*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psrl.w(x86_mmx, x86_mmx) nounwind readnone 576*9880d681SAndroid Build Coastguard Worker 577*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubb(x86_mmx %a, x86_mmx %b) { 578*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubb 579*9880d681SAndroid Build Coastguard Worker ;CHECK: psubb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 580*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 581*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psub.b(x86_mmx %a, x86_mmx %b) nounwind readnone 582*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 583*9880d681SAndroid Build Coastguard Worker} 584*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psub.b(x86_mmx, x86_mmx) nounwind readnone 585*9880d681SAndroid Build Coastguard Worker 586*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubd(x86_mmx %a, x86_mmx %b) { 587*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubd 588*9880d681SAndroid Build Coastguard Worker ;CHECK: psubd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 589*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 590*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psub.d(x86_mmx %a, x86_mmx %b) nounwind readnone 591*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 592*9880d681SAndroid Build Coastguard Worker} 593*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psub.d(x86_mmx, x86_mmx) nounwind readnone 594*9880d681SAndroid Build Coastguard Worker 595*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubq(x86_mmx %a, x86_mmx %b) { 596*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubq 597*9880d681SAndroid Build Coastguard Worker ;CHECK: psubq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 598*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 599*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psub.q(x86_mmx %a, x86_mmx %b) nounwind readnone 600*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 601*9880d681SAndroid Build Coastguard Worker} 602*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psub.q(x86_mmx, x86_mmx) nounwind readnone 603*9880d681SAndroid Build Coastguard Worker 604*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubsb(x86_mmx %a, x86_mmx %b) { 605*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubsb 606*9880d681SAndroid Build Coastguard Worker ;CHECK: psubsb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 607*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 608*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psubs.b(x86_mmx %a, x86_mmx %b) nounwind readnone 609*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 610*9880d681SAndroid Build Coastguard Worker} 611*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psubs.b(x86_mmx, x86_mmx) nounwind readnone 612*9880d681SAndroid Build Coastguard Worker 613*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubsw(x86_mmx %a, x86_mmx %b) { 614*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubsw 615*9880d681SAndroid Build Coastguard Worker ;CHECK: psubsw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 616*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 617*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psubs.w(x86_mmx %a, x86_mmx %b) nounwind readnone 618*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 619*9880d681SAndroid Build Coastguard Worker} 620*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psubs.w(x86_mmx, x86_mmx) nounwind readnone 621*9880d681SAndroid Build Coastguard Worker 622*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubusb(x86_mmx %a, x86_mmx %b) { 623*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubusb 624*9880d681SAndroid Build Coastguard Worker ;CHECK: psubusb {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 625*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 626*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psubus.b(x86_mmx %a, x86_mmx %b) nounwind readnone 627*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 628*9880d681SAndroid Build Coastguard Worker} 629*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psubus.b(x86_mmx, x86_mmx) nounwind readnone 630*9880d681SAndroid Build Coastguard Worker 631*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubusw(x86_mmx %a, x86_mmx %b) { 632*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubusw 633*9880d681SAndroid Build Coastguard Worker ;CHECK: psubusw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 634*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 635*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psubus.w(x86_mmx %a, x86_mmx %b) nounwind readnone 636*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 637*9880d681SAndroid Build Coastguard Worker} 638*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psubus.w(x86_mmx, x86_mmx) nounwind readnone 639*9880d681SAndroid Build Coastguard Worker 640*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_psubw(x86_mmx %a, x86_mmx %b) { 641*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_psubw 642*9880d681SAndroid Build Coastguard Worker ;CHECK: psubw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 643*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 644*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.psub.w(x86_mmx %a, x86_mmx %b) nounwind readnone 645*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 646*9880d681SAndroid Build Coastguard Worker} 647*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.psub.w(x86_mmx, x86_mmx) nounwind readnone 648*9880d681SAndroid Build Coastguard Worker 649*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpckhbw(x86_mmx %a, x86_mmx %b) { 650*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpckhbw 651*9880d681SAndroid Build Coastguard Worker ;CHECK: punpckhbw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 652*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 653*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpckhbw(x86_mmx %a, x86_mmx %b) nounwind readnone 654*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 655*9880d681SAndroid Build Coastguard Worker} 656*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpckhbw(x86_mmx, x86_mmx) nounwind readnone 657*9880d681SAndroid Build Coastguard Worker 658*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpckhdq(x86_mmx %a, x86_mmx %b) { 659*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpckhdq 660*9880d681SAndroid Build Coastguard Worker ;CHECK: punpckhdq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 661*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 662*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpckhdq(x86_mmx %a, x86_mmx %b) nounwind readnone 663*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 664*9880d681SAndroid Build Coastguard Worker} 665*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpckhdq(x86_mmx, x86_mmx) nounwind readnone 666*9880d681SAndroid Build Coastguard Worker 667*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpckhwd(x86_mmx %a, x86_mmx %b) { 668*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpckhwd 669*9880d681SAndroid Build Coastguard Worker ;CHECK: punpckhwd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 670*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 671*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpckhwd(x86_mmx %a, x86_mmx %b) nounwind readnone 672*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 673*9880d681SAndroid Build Coastguard Worker} 674*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpckhwd(x86_mmx, x86_mmx) nounwind readnone 675*9880d681SAndroid Build Coastguard Worker 676*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpcklbw(x86_mmx %a, x86_mmx %b) { 677*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpcklbw 678*9880d681SAndroid Build Coastguard Worker ;CHECK: punpcklbw {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 679*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 680*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpcklbw(x86_mmx %a, x86_mmx %b) nounwind readnone 681*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 682*9880d681SAndroid Build Coastguard Worker} 683*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpcklbw(x86_mmx, x86_mmx) nounwind readnone 684*9880d681SAndroid Build Coastguard Worker 685*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpckldq(x86_mmx %a, x86_mmx %b) { 686*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpckldq 687*9880d681SAndroid Build Coastguard Worker ;CHECK: punpckldq {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 688*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 689*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpckldq(x86_mmx %a, x86_mmx %b) nounwind readnone 690*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 691*9880d681SAndroid Build Coastguard Worker} 692*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpckldq(x86_mmx, x86_mmx) nounwind readnone 693*9880d681SAndroid Build Coastguard Worker 694*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_punpcklwd(x86_mmx %a, x86_mmx %b) { 695*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_punpcklwd 696*9880d681SAndroid Build Coastguard Worker ;CHECK: punpcklwd {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 697*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 698*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.punpcklwd(x86_mmx %a, x86_mmx %b) nounwind readnone 699*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 700*9880d681SAndroid Build Coastguard Worker} 701*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.punpcklwd(x86_mmx, x86_mmx) nounwind readnone 702*9880d681SAndroid Build Coastguard Worker 703*9880d681SAndroid Build Coastguard Workerdefine x86_mmx @stack_fold_pxor(x86_mmx %a, x86_mmx %b) { 704*9880d681SAndroid Build Coastguard Worker ;CHECK-LABEL: stack_fold_pxor 705*9880d681SAndroid Build Coastguard Worker ;CHECK: pxor {{-?[0-9]*}}(%rsp), {{%mm[0-7]}} {{.*#+}} 8-byte Folded Reload 706*9880d681SAndroid Build Coastguard Worker %1 = tail call x86_mmx asm sideeffect "nop", "=y,~{mm2},~{mm3},~{mm4},~{mm5},~{mm6},~{mm7}"() 707*9880d681SAndroid Build Coastguard Worker %2 = call x86_mmx @llvm.x86.mmx.pxor(x86_mmx %a, x86_mmx %b) nounwind readnone 708*9880d681SAndroid Build Coastguard Worker ret x86_mmx %2 709*9880d681SAndroid Build Coastguard Worker} 710*9880d681SAndroid Build Coastguard Workerdeclare x86_mmx @llvm.x86.mmx.pxor(x86_mmx, x86_mmx) nounwind readnone 711