[llvm] r295638 - [AVX-512] Fix mistake in the immediate swizzle for some of the VPTERNLOG patterns.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 19 23:00:35 PST 2017
Author: ctopper
Date: Mon Feb 20 01:00:34 2017
New Revision: 295638
URL: http://llvm.org/viewvc/llvm-project?rev=295638&view=rev
Log:
[AVX-512] Fix mistake in the immediate swizzle for some of the VPTERNLOG patterns.
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/test/CodeGen/X86/avx512-vpternlog-commute.ll
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=295638&r1=295637&r2=295638&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Mon Feb 20 01:00:34 2017
@@ -8899,8 +8899,8 @@ def VPTERNLOG213_imm8 : SDNodeXForm<imm,
uint8_t Imm = N->getZExtValue();
// Swap bits 2/4 and 3/5.
uint8_t NewImm = Imm & 0xc3;
- if (Imm & 0x02) NewImm |= 0x10;
- if (Imm & 0x10) NewImm |= 0x02;
+ if (Imm & 0x04) NewImm |= 0x10;
+ if (Imm & 0x10) NewImm |= 0x04;
if (Imm & 0x08) NewImm |= 0x20;
if (Imm & 0x20) NewImm |= 0x08;
return getI8Imm(NewImm, SDLoc(N));
Modified: llvm/trunk/test/CodeGen/X86/avx512-vpternlog-commute.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx512-vpternlog-commute.ll?rev=295638&r1=295637&r2=295638&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/avx512-vpternlog-commute.ll (original)
+++ llvm/trunk/test/CodeGen/X86/avx512-vpternlog-commute.ll Mon Feb 20 01:00:34 2017
@@ -190,7 +190,7 @@ define <16 x i32> @vpternlog_v16i32_012_
; CHECK-LABEL: vpternlog_v16i32_012_mask1:
; CHECK: ## BB#0:
; CHECK-NEXT: kmovw %edi, %k1
-; CHECK-NEXT: vpternlogd $90, %zmm2, %zmm0, %zmm1 {%k1}
+; CHECK-NEXT: vpternlogd $78, %zmm2, %zmm0, %zmm1 {%k1}
; CHECK-NEXT: vmovdqa64 %zmm1, %zmm0
; CHECK-NEXT: retq
%res = call <16 x i32> @llvm.x86.avx512.mask.pternlog.d.512(<16 x i32> %x0, <16 x i32> %x1, <16 x i32> %x2, i32 114, i16 -1)
More information about the llvm-commits
mailing list