[llvm] r220734 - [AVX512] Fix copy-and-paste bugs in vpermil

Adam Nemet anemet at apple.com
Mon Oct 27 16:08:31 PDT 2014


Author: anemet
Date: Mon Oct 27 18:08:31 2014
New Revision: 220734

URL: http://llvm.org/viewvc/llvm-project?rev=220734&view=rev
Log:
[AVX512] Fix copy-and-paste bugs in vpermil

1) i512mem -> f512mem (this is the packed FP input being permuted)
2) element size is 64 bits in EVEX_CD8 for PD.

(A good illustration why X86VectorVTInfo is useful)

Modified:
    llvm/trunk/lib/Target/X86/X86InstrAVX512.td

Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=220734&r1=220733&r2=220734&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Mon Oct 27 18:08:31 2014
@@ -2899,12 +2899,12 @@ defm VPSHUFDZ : avx512_pshuf_imm<0x70, "
 
 let ExeDomain = SSEPackedSingle in
 defm VPERMILPSZ : avx512_pshuf_imm<0x04, "vpermilps", VR512, X86VPermilpi,
-                      memopv16f32, i512mem, v16f32>, TAPD, EVEX_V512,
+                      memopv16f32, f512mem, v16f32>, TAPD, EVEX_V512,
                       EVEX_CD8<32, CD8VF>;
 let ExeDomain = SSEPackedDouble in
 defm VPERMILPDZ : avx512_pshuf_imm<0x05, "vpermilpd", VR512, X86VPermilpi,
-                      memopv8f64, i512mem, v8f64>, TAPD, EVEX_V512,
-                      VEX_W, EVEX_CD8<32, CD8VF>;
+                      memopv8f64, f512mem, v8f64>, TAPD, EVEX_V512,
+                      VEX_W, EVEX_CD8<64, CD8VF>;
 
 def : Pat<(v16i32 (X86VPermilpi VR512:$src1, (i8 imm:$imm))),
           (VPERMILPSZri VR512:$src1, imm:$imm)>;





More information about the llvm-commits mailing list