From 7e9f7fbc11835baa50c5ebb688a9fd515d6fafed Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Mon, 16 Apr 2012 06:26:15 +0000 Subject: Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The intrinsic has the mask as the last operand, but the instruction has it as the second. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154797 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrSSE.td | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index eb608d3524..5cdfb10ef1 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -7740,13 +7740,13 @@ multiclass avx2_perm opc, string OpcodeStr, PatFrag mem_frag, (ins VR256:$src1, VR256:$src2), !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"), - [(set VR256:$dst, (Int VR256:$src1, VR256:$src2))]>, VEX_4V; + [(set VR256:$dst, (Int VR256:$src2, VR256:$src1))]>, VEX_4V; def Yrm : AVX28I, + [(set VR256:$dst, (Int (bitconvert (mem_frag addr:$src2)), + VR256:$src1))]>, VEX_4V; } -- cgit v1.2.3-18-g5258