[llvm] r253447 - AVX512: Implemented encoding for vpextrw.s instruction.
Igor Breger via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 18 00:46:18 PST 2015
Author: ibreger
Date: Wed Nov 18 02:46:16 2015
New Revision: 253447
URL: http://llvm.org/viewvc/llvm-project?rev=253447&view=rev
Log:
AVX512: Implemented encoding for vpextrw.s instruction.
Differential Revision: http://reviews.llvm.org/D14766
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/test/MC/X86/x86-64-avx512bw.s
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=253447&r1=253446&r2=253447&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Wed Nov 18 02:46:16 2015
@@ -7199,6 +7199,11 @@ multiclass avx512_extract_elt_w<string O
(X86pextrw (_.VT _.RC:$src1), imm:$src2))]>,
EVEX, PD;
+ def rr_REV : AVX512Ii8<0x15, MRMDestReg, (outs GR32orGR64:$dst),
+ (ins _.RC:$src1, u8imm:$src2),
+ OpcodeStr#".s\t{$src2, $src1, $dst|$dst, $src1, $src2}", []>,
+ EVEX, TAPD;
+
defm NAME : avx512_extract_elt_bw_m<0x15, OpcodeStr, X86pextrw, _>, TAPD;
}
}
Modified: llvm/trunk/test/MC/X86/x86-64-avx512bw.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw.s?rev=253447&r1=253446&r2=253447&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-64-avx512bw.s (original)
+++ llvm/trunk/test/MC/X86/x86-64-avx512bw.s Wed Nov 18 02:46:16 2015
@@ -4691,3 +4691,51 @@
// CHECK: encoding: [0x62,0x62,0x7d,0xc9,0x7b,0xc0]
vpbroadcastw %eax, %zmm24 {%k1} {z}
+// CHECK: vpextrw.s $171, %xmm28, %eax
+// CHECK: encoding: [0x62,0x63,0x7d,0x08,0x15,0xe0,0xab]
+ vpextrw.s $0xab, %xmm28, %eax
+
+// CHECK: vpextrw.s $123, %xmm28, %eax
+// CHECK: encoding: [0x62,0x63,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm28, %eax
+
+// CHECK: vpextrw.s $123, %xmm28, %r8d
+// CHECK: encoding: [0x62,0x43,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm28, %r8d
+
+// CHECK: vpextrw.s $171, %xmm28, %eax
+// CHECK: encoding: [0x62,0x63,0x7d,0x08,0x15,0xe0,0xab]
+ vpextrw.s $0xab, %xmm28, %eax
+
+// CHECK: vpextrw.s $123, %xmm28, %eax
+// CHECK: encoding: [0x62,0x63,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm28, %eax
+
+// CHECK: vpextrw.s $123, %xmm28, %r8d
+// CHECK: encoding: [0x62,0x43,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm28, %r8d
+
+// CHECK: vpextrw.s $171, %xmm20, %eax
+// CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x15,0xe0,0xab]
+ vpextrw.s $0xab, %xmm20, %eax
+
+// CHECK: vpextrw.s $123, %xmm20, %eax
+// CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm20, %eax
+
+// CHECK: vpextrw.s $123, %xmm20, %r8d
+// CHECK: encoding: [0x62,0xc3,0x7d,0x08,0x15,0xe0,0x7b]
+ vpextrw.s $0x7b, %xmm20, %r8d
+
+// CHECK: vpextrw.s $171, %xmm19, %eax
+// CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x15,0xd8,0xab]
+ vpextrw.s $0xab, %xmm19, %eax
+
+// CHECK: vpextrw.s $123, %xmm19, %eax
+// CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x15,0xd8,0x7b]
+ vpextrw.s $0x7b, %xmm19, %eax
+
+// CHECK: vpextrw.s $123, %xmm19, %r8d
+// CHECK: encoding: [0x62,0xc3,0x7d,0x08,0x15,0xd8,0x7b]
+ vpextrw.s $0x7b, %xmm19, %r8d
+
More information about the llvm-commits
mailing list