90 lines · plain
1# RUN: llvm-mc -triple x86_64 -x86-sse2avx %s | FileCheck %s2# RUN: llvm-mc -triple=x86_64 -output-asm-variant=1 %s | llvm-mc -triple=x86_64 -x86-asm-syntax=intel -x86-sse2avx3 .text4# CHECK: vmovsd -352(%rbp), %xmm05 movsd -352(%rbp), %xmm0 # xmm0 = mem[0],zero6# CHECK-NEXT: vunpcklpd %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0]7 unpcklpd %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[0]8# CHECK-NEXT: vmovapd %xmm0, -368(%rbp)9 movapd %xmm0, -368(%rbp)10# CHECK-NEXT: vmovapd -368(%rbp), %xmm011 movapd -368(%rbp), %xmm012# CHECK-NEXT: vmovsd -376(%rbp), %xmm113 movsd -376(%rbp), %xmm1 # xmm1 = mem[0],zero14# CHECK-NEXT: vmovsd -384(%rbp), %xmm015 movsd -384(%rbp), %xmm0 # xmm0 = mem[0],zero16# CHECK-NEXT: vunpcklpd %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0]17 unpcklpd %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[0]18# CHECK-NEXT: vaddpd %xmm1, %xmm0, %xmm019 addpd %xmm1, %xmm020# CHECK-NEXT: vmovapd %xmm0, -464(%rbp)21 movapd %xmm0, -464(%rbp)22# CHECK-NEXT: vmovaps -304(%rbp), %xmm123 movaps -304(%rbp), %xmm124# CHECK-NEXT: vpandn %xmm1, %xmm0, %xmm025 pandn %xmm1, %xmm026# CHECK-NEXT: vmovaps %xmm0, -480(%rbp)27 movaps %xmm0, -480(%rbp)28# CHECK-NEXT: vmovss -220(%rbp), %xmm129 movss -220(%rbp), %xmm1 # xmm1 = mem[0],zero,zero,zero30# CHECK-NEXT: vinsertps $16, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0],xmm0[2,3]31 insertps $16, %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[0],xmm0[2,3]32# CHECK-NEXT: vmovaps %xmm0, -496(%rbp)33 movaps %xmm0, -496(%rbp)34# CHECK-NEXT: vmovss -256(%rbp), %xmm035 movss -256(%rbp), %xmm0 # xmm0 = mem[0],zero,zero,zero36# CHECK-NEXT: vmovaps -192(%rbp), %xmm037 movaps -192(%rbp), %xmm038# CHECK-NEXT: vdivss %xmm1, %xmm0, %xmm039 divss %xmm1, %xmm040# CHECK-NEXT: vmovaps %xmm0, -192(%rbp)41 movaps %xmm0, -192(%rbp)42# CHECK-NEXT: vmovd -128(%rbp), %xmm043 movd -128(%rbp), %xmm0 # xmm0 = mem[0],zero,zero,zero44# CHECK-NEXT: vpinsrd $1, %edx, %xmm0, %xmm045 pinsrd $1, %edx, %xmm046# CHECK-NEXT: vmovaps %xmm0, -144(%rbp)47 movaps %xmm0, -144(%rbp)48# CHECK-NEXT: vmovd -160(%rbp), %xmm049 movd -160(%rbp), %xmm0 # xmm0 = mem[0],zero,zero,zero50# CHECK-NEXT: vpblendw $170, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]51 pblendw $170, %xmm1, %xmm0 # xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]52# CHECK-NEXT: vmovdqa %xmm0, -576(%rbp)53 movdqa %xmm0, -576(%rbp)54# CHECK-NEXT: vphsubw %xmm1, %xmm0, %xmm055 phsubw %xmm1, %xmm056# CHECK-NEXT: vmovdqa %xmm0, -592(%rbp)57 movdqa %xmm0, -592(%rbp)58# CHECK-NEXT: vmovaps -496(%rbp), %xmm059 movaps -496(%rbp), %xmm060# CHECK-NEXT: vroundps $8, %xmm0, %xmm061 roundps $8, %xmm0, %xmm062# CHECK-NEXT: vmovaps %xmm0, -608(%rbp)63 movaps %xmm0, -608(%rbp)64# CHECK-NEXT: vmovapd -432(%rbp), %xmm065 movapd -432(%rbp), %xmm066# CHECK-NEXT: vpxor %xmm1, %xmm0, %xmm067 pxor %xmm1, %xmm068# CHECK-NEXT: vmovaps %xmm0, -640(%rbp)69 movaps %xmm0, -640(%rbp)70# CHECK-NEXT: vmovapd -32(%rbp), %xmm071 movapd -32(%rbp), %xmm072# CHECK-NEXT: vmovupd %xmm0, (%rax)73 movupd %xmm0, (%rax)74# CHECK-NEXT: vmovsd -656(%rbp), %xmm075 movsd -656(%rbp), %xmm0 # xmm0 = mem[0],zero76# CHECK-NEXT: extrq $16, $8, %xmm0 # xmm0 = xmm0[2],zero,zero,zero,zero,zero,zero,zero,xmm0[u,u,u,u,u,u,u,u]77 extrq $16, $8, %xmm078# CHECK-NEXT: insertq $16, $8, %xmm1, %xmm0 # xmm0 = xmm0[0,1],xmm1[0],xmm0[3,4,5,6,7,u,u,u,u,u,u,u,u]79 insertq $16, $8, %xmm1, %xmm080# CHECK-NEXT: pshufw $1, %mm0, %mm2 # mm2 = mm0[1,0,0,0]81 pshufw $1, %mm0, %mm282# CHECK-NEXT: vpblendvb %xmm2, %xmm2, %xmm1, %xmm183 pblendvb %xmm0, %xmm2, %xmm184# CHECK-NEXT: vblendvps %xmm0, %xmm0, %xmm2, %xmm285 blendvps %xmm0, %xmm0, %xmm286# CHECK-NEXT: vblendvpd %xmm0, %xmm0, %xmm2, %xmm287 blendvpd %xmm0, %xmm0, %xmm288# CHECK-NEXT: vblendvpd %xmm0, %xmm0, %xmm2, %xmm289 blendvpd %xmm0, %xmm290