From: Craig Topper Date: Mon, 16 Apr 2012 06:26:15 +0000 (+0000) Subject: Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7e9f7fbc11835baa50c5ebb688a9fd515d6fafed;p=oota-llvm.git 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 --- diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index eb608d35240..5cdfb10ef14 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; }