summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/xop-mask-comments.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/xop-mask-comments.ll')
-rw-r--r--llvm/test/CodeGen/X86/xop-mask-comments.ll8
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
OpenPOWER on IntegriCloud