diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/xop-mask-comments.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/xop-mask-comments.ll | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/xop-mask-comments.ll b/llvm/test/CodeGen/X86/xop-mask-comments.ll index 14c18c311a6..4ba47380f89 100644 --- a/llvm/test/CodeGen/X86/xop-mask-comments.ll +++ b/llvm/test/CodeGen/X86/xop-mask-comments.ll @@ -95,15 +95,19 @@ define <16 x i8> @vpperm_shuffle_general(<16 x i8> %a0, <16 x i8> %a1) { ; VPERMIL2 ; +; Note: _mm_permute2_pd shouldn't be used for constant shuffles as there will always +; be a quicker (and smaller) alternative. define <2 x double> @vpermil2pd_21(<2 x double> %a0, <2 x double> %a1) { ; X32-LABEL: vpermil2pd_21: ; X32: # BB#0: -; X32-NEXT: vpermil2pd {{.*#+}} xmm0 = zero,xmm0[0] +; X32-NEXT: vxorpd %xmm1, %xmm1, %xmm1 +; X32-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0] ; X32-NEXT: retl ; ; X64-LABEL: vpermil2pd_21: ; X64: # BB#0: -; X64-NEXT: vpermil2pd {{.*#+}} xmm0 = zero,xmm0[0] +; X64-NEXT: vxorpd %xmm1, %xmm1, %xmm1 +; X64-NEXT: vunpcklpd {{.*#+}} xmm0 = xmm1[0],xmm0[0] ; X64-NEXT: retq %1 = call <2 x double> @llvm.x86.xop.vpermil2pd(<2 x double> %a0, <2 x double> %a1, <2 x i64> <i64 10, i64 1>, i8 2) ret <2 x double> %1 |