[llvm] r251903 - AVX512: add encoding tests for vmovq/d instructions.
Igor Breger via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 2 23:30:17 PST 2015
Author: ibreger
Date: Tue Nov 3 01:30:17 2015
New Revision: 251903
URL: http://llvm.org/viewvc/llvm-project?rev=251903&view=rev
Log:
AVX512: add encoding tests for vmovq/d instructions.
Modified:
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/test/MC/X86/avx512-encodings.s
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=251903&r1=251902&r2=251903&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Tue Nov 3 01:30:17 2015
@@ -3084,7 +3084,7 @@ def VMOVZPQILo2PQIZrr : AVX512XSI<0x7E,
(v2i64 VR128X:$src))))],
IIC_SSE_MOVQ_RR>, EVEX, VEX_W;
-let AddedComplexity = 20 in
+let AddedComplexity = 20 , isCodeGenOnly = 1 in
def VMOVZPQILo2PQIZrm : AVX512XSI<0x7E, MRMSrcMem, (outs VR128X:$dst),
(ins i128mem:$src),
"vmovq\t{$src, $dst|$dst, $src}",
Modified: llvm/trunk/test/MC/X86/avx512-encodings.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=251903&r1=251902&r2=251903&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/avx512-encodings.s (original)
+++ llvm/trunk/test/MC/X86/avx512-encodings.s Tue Nov 3 01:30:17 2015
@@ -17951,4 +17951,349 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
// CHECK: vcvtps2ph $123, %zmm19, -4128(%rdx)
// CHECK: encoding: [0x62,0xe3,0x7d,0x48,0x1d,0x9a,0xe0,0xef,0xff,0xff,0x7b]
- vcvtps2ph $0x7b, %zmm19, -4128(%rdx)
\ No newline at end of file
+ vcvtps2ph $0x7b, %zmm19, -4128(%rdx)
+
+// CHECK: vmovq %rax, %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0xe8]
+ vmovq %rax, %xmm29
+
+// CHECK: vmovq %r8, %xmm29
+// CHECK: encoding: [0x62,0x41,0xfd,0x08,0x6e,0xe8]
+ vmovq %r8, %xmm29
+
+// CHECK: vmovq (%rcx), %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x29]
+ vmovq (%rcx), %xmm29
+
+// CHECK: vmovq 291(%rax,%r14,8), %xmm29
+// CHECK: encoding: [0x62,0x21,0xfd,0x08,0x6e,0xac,0xf0,0x23,0x01,0x00,0x00]
+ vmovq 291(%rax,%r14,8), %xmm29
+
+// CHECK: vmovq 1016(%rdx), %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x6a,0x7f]
+ vmovq 1016(%rdx), %xmm29
+
+// CHECK: vmovq 1024(%rdx), %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0xaa,0x00,0x04,0x00,0x00]
+ vmovq 1024(%rdx), %xmm29
+
+// CHECK: vmovq -1024(%rdx), %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x6a,0x80]
+ vmovq -1024(%rdx), %xmm29
+
+// CHECK: vmovq -1032(%rdx), %xmm29
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0xaa,0xf8,0xfb,0xff,0xff]
+ vmovq -1032(%rdx), %xmm29
+
+// CHECK: vmovq %xmm17, (%rcx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x09]
+ vmovq %xmm17, (%rcx)
+
+// CHECK: vmovq %xmm17, 291(%rax,%r14,8)
+// CHECK: encoding: [0x62,0xa1,0xfd,0x08,0xd6,0x8c,0xf0,0x23,0x01,0x00,0x00]
+ vmovq %xmm17, 291(%rax,%r14,8)
+
+// CHECK: vmovq %xmm17, 1016(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x4a,0x7f]
+ vmovq %xmm17, 1016(%rdx)
+
+// CHECK: vmovq %xmm17, 1024(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x8a,0x00,0x04,0x00,0x00]
+ vmovq %xmm17, 1024(%rdx)
+
+// CHECK: vmovq %xmm17, -1024(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x4a,0x80]
+ vmovq %xmm17, -1024(%rdx)
+
+// CHECK: vmovq %xmm17, -1032(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x8a,0xf8,0xfb,0xff,0xff]
+ vmovq %xmm17, -1032(%rdx)
+
+// CHECK: vmovq %xmm3, %xmm24
+// CHECK: encoding: [0x62,0x61,0xfe,0x08,0x7e,0xc3]
+ vmovq %xmm3, %xmm24
+
+// CHECK: vmovq (%rcx), %xmm24
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x01]
+ vmovq (%rcx), %xmm24
+
+// CHECK: vmovq 291(%rax,%r14,8), %xmm24
+// CHECK: encoding: [0x62,0x21,0xfd,0x08,0x6e,0x84,0xf0,0x23,0x01,0x00,0x00]
+ vmovq 291(%rax,%r14,8), %xmm24
+
+// CHECK: vmovq 1016(%rdx), %xmm24
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x42,0x7f]
+ vmovq 1016(%rdx), %xmm24
+
+// CHECK: vmovq 1024(%rdx), %xmm24
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x82,0x00,0x04,0x00,0x00]
+ vmovq 1024(%rdx), %xmm24
+
+// CHECK: vmovq -1024(%rdx), %xmm24
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x42,0x80]
+ vmovq -1024(%rdx), %xmm24
+
+// CHECK: vmovq -1032(%rdx), %xmm24
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x6e,0x82,0xf8,0xfb,0xff,0xff]
+ vmovq -1032(%rdx), %xmm24
+
+// CHECK: vmovq %xmm19, (%rcx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x19]
+ vmovq %xmm19, (%rcx)
+
+// CHECK: vmovq %xmm19, 291(%rax,%r14,8)
+// CHECK: encoding: [0x62,0xa1,0xfd,0x08,0xd6,0x9c,0xf0,0x23,0x01,0x00,0x00]
+ vmovq %xmm19, 291(%rax,%r14,8)
+
+// CHECK: vmovq %xmm19, 1016(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x5a,0x7f]
+ vmovq %xmm19, 1016(%rdx)
+
+// CHECK: vmovq %xmm19, 1024(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x9a,0x00,0x04,0x00,0x00]
+ vmovq %xmm19, 1024(%rdx)
+
+// CHECK: vmovq %xmm19, -1024(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x5a,0x80]
+ vmovq %xmm19, -1024(%rdx)
+
+// CHECK: vmovq %xmm19, -1032(%rdx)
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0xd6,0x9a,0xf8,0xfb,0xff,0xff]
+ vmovq %xmm19, -1032(%rdx)
+
+// CHECK: vmovq %xmm27, %rax
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7e,0xd8]
+ vmovq %xmm27, %rax
+
+// CHECK: vmovq %xmm27, %rax
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7e,0xd8]
+ vmovq %xmm27, %rax
+
+// CHECK: vmovq %xmm27, %r8
+// CHECK: encoding: [0x62,0x41,0xfd,0x08,0x7e,0xd8]
+ vmovq %xmm27, %r8
+
+// CHECK: vmovq %xmm27, %r8
+// CHECK: encoding: [0x62,0x41,0xfd,0x08,0x7e,0xd8]
+ vmovq %xmm27, %r8
+
+// CHECK: vmovq %xmm22, %rax
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x7e,0xf0]
+ vmovq %xmm22, %rax
+
+// CHECK: vmovq %xmm22, %rax
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x7e,0xf0]
+ vmovq %xmm22, %rax
+
+// CHECK: vmovq %xmm22, %r8
+// CHECK: encoding: [0x62,0xc1,0xfd,0x08,0x7e,0xf0]
+ vmovq %xmm22, %r8
+
+// CHECK: vmovq %xmm22, %r8
+// CHECK: encoding: [0x62,0xc1,0xfd,0x08,0x7e,0xf0]
+ vmovq %xmm22, %r8
+
+// CHECK: vmovq %xmm29, %xmm29
+// CHECK: encoding: [0x62,0x01,0xfe,0x08,0x7e,0xed]
+ vmovq %xmm29, %xmm29
+
+// CHECK: vmovq %xmm25, %xmm8
+// CHECK: encoding: [0x62,0x11,0xfe,0x08,0x7e,0xc1]
+ vmovq %xmm25, %xmm8
+
+// CHECK: vmovq %xmm29, %rax
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7e,0xe8]
+ vmovq %xmm29, %rax
+
+// CHECK: vmovq %xmm29, %rax
+// CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7e,0xe8]
+ vmovq %xmm29, %rax
+
+// CHECK: vmovq %xmm29, %r8
+// CHECK: encoding: [0x62,0x41,0xfd,0x08,0x7e,0xe8]
+ vmovq %xmm29, %r8
+
+// CHECK: vmovq %xmm29, %r8
+// CHECK: encoding: [0x62,0x41,0xfd,0x08,0x7e,0xe8]
+ vmovq %xmm29, %r8
+
+// CHECK: vmovq %xmm20, %rax
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x7e,0xe0]
+ vmovq %xmm20, %rax
+
+// CHECK: vmovq %xmm20, %rax
+// CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x7e,0xe0]
+ vmovq %xmm20, %rax
+
+// CHECK: vmovq %xmm20, %r8
+// CHECK: encoding: [0x62,0xc1,0xfd,0x08,0x7e,0xe0]
+ vmovq %xmm20, %r8
+
+// CHECK: vmovq %xmm20, %r8
+// CHECK: encoding: [0x62,0xc1,0xfd,0x08,0x7e,0xe0]
+ vmovq %xmm20, %r8
+
+// CHECK: vmovq %xmm14, %xmm25
+// CHECK: encoding: [0x62,0x41,0xfe,0x08,0x7e,0xce]
+ vmovq %xmm14, %xmm25
+
+// CHECK: vmovq %xmm24, %xmm12
+// CHECK: encoding: [0x62,0x11,0xfe,0x08,0x7e,0xe0]
+ vmovq %xmm24, %xmm12
+
+// CHECK: vmovd %xmm5, %eax
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xe8]
+ vmovd %xmm5, %eax
+
+// CHECK: vmovd %xmm5, %eax
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xe8]
+ vmovd %xmm5, %eax
+
+// CHECK: vmovd %xmm5, %ebp
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xed]
+ vmovd %xmm5, %ebp
+
+// CHECK: vmovd %xmm5, %ebp
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xed]
+ vmovd %xmm5, %ebp
+
+// CHECK: vmovd %xmm5, %r13d
+// CHECK: encoding: [0xc4,0xc1,0x79,0x7e,0xed]
+ vmovd %xmm5, %r13d
+
+// CHECK: vmovd %xmm5, %r13d
+// CHECK: encoding: [0xc4,0xc1,0x79,0x7e,0xed]
+ vmovd %xmm5, %r13d
+
+// CHECK: vmovd %xmm28, %eax
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x7e,0xe0]
+ vmovd %xmm28, %eax
+
+// CHECK: vmovd %xmm28, %eax
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x7e,0xe0]
+ vmovd %xmm28, %eax
+
+// CHECK: vmovd %xmm28, %ebp
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x7e,0xe5]
+ vmovd %xmm28, %ebp
+
+// CHECK: vmovd %xmm28, %ebp
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x7e,0xe5]
+ vmovd %xmm28, %ebp
+
+// CHECK: vmovd %xmm28, %r13d
+// CHECK: encoding: [0x62,0x41,0x7d,0x08,0x7e,0xe5]
+ vmovd %xmm28, %r13d
+
+// CHECK: vmovd %xmm28, %r13d
+// CHECK: encoding: [0x62,0x41,0x7d,0x08,0x7e,0xe5]
+ vmovd %xmm28, %r13d
+
+// CHECK: vmovd %xmm14, %eax
+// CHECK: encoding: [0xc5,0x79,0x7e,0xf0]
+ vmovd %xmm14, %eax
+
+// CHECK: vmovd %xmm14, %eax
+// CHECK: encoding: [0xc5,0x79,0x7e,0xf0]
+ vmovd %xmm14, %eax
+
+// CHECK: vmovd %xmm14, %ebp
+// CHECK: encoding: [0xc5,0x79,0x7e,0xf5]
+ vmovd %xmm14, %ebp
+
+// CHECK: vmovd %xmm14, %ebp
+// CHECK: encoding: [0xc5,0x79,0x7e,0xf5]
+ vmovd %xmm14, %ebp
+
+// CHECK: vmovd %xmm14, %r13d
+// CHECK: encoding: [0xc4,0x41,0x79,0x7e,0xf5]
+ vmovd %xmm14, %r13d
+
+// CHECK: vmovd %xmm14, %r13d
+// CHECK: encoding: [0xc4,0x41,0x79,0x7e,0xf5]
+ vmovd %xmm14, %r13d
+
+// CHECK: vmovd %xmm1, %eax
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xc8]
+ vmovd %xmm1, %eax
+
+// CHECK: vmovd %xmm1, %eax
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xc8]
+ vmovd %xmm1, %eax
+
+// CHECK: vmovd %xmm1, %ebp
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xcd]
+ vmovd %xmm1, %ebp
+
+// CHECK: vmovd %xmm1, %ebp
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xcd]
+ vmovd %xmm1, %ebp
+
+// CHECK: vmovd %xmm1, %r13d
+// CHECK: encoding: [0xc4,0xc1,0x79,0x7e,0xcd]
+ vmovd %xmm1, %r13d
+
+// CHECK: vmovd %xmm1, %r13d
+// CHECK: encoding: [0xc4,0xc1,0x79,0x7e,0xcd]
+ vmovd %xmm1, %r13d
+
+// CHECK: vmovd %eax, %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0xd0]
+ vmovd %eax, %xmm26
+
+// CHECK: vmovd %ebp, %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0xd5]
+ vmovd %ebp, %xmm26
+
+// CHECK: vmovd %r13d, %xmm26
+// CHECK: encoding: [0x62,0x41,0x7d,0x08,0x6e,0xd5]
+ vmovd %r13d, %xmm26
+
+// CHECK: vmovd (%rcx), %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0x11]
+ vmovd (%rcx), %xmm26
+
+// CHECK: vmovd 291(%rax,%r14,8), %xmm26
+// CHECK: encoding: [0x62,0x21,0x7d,0x08,0x6e,0x94,0xf0,0x23,0x01,0x00,0x00]
+ vmovd 291(%rax,%r14,8), %xmm26
+
+// CHECK: vmovd 508(%rdx), %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0x52,0x7f]
+ vmovd 508(%rdx), %xmm26
+
+// CHECK: vmovd 512(%rdx), %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0x92,0x00,0x02,0x00,0x00]
+ vmovd 512(%rdx), %xmm26
+
+// CHECK: vmovd -512(%rdx), %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0x52,0x80]
+ vmovd -512(%rdx), %xmm26
+
+// CHECK: vmovd -516(%rdx), %xmm26
+// CHECK: encoding: [0x62,0x61,0x7d,0x08,0x6e,0x92,0xfc,0xfd,0xff,0xff]
+ vmovd -516(%rdx), %xmm26
+
+// CHECK: vmovd %xmm5, (%rcx)
+// CHECK: encoding: [0xc5,0xf9,0x7e,0x29]
+ vmovd %xmm5, (%rcx)
+
+// CHECK: vmovd %xmm5, 291(%rax,%r14,8)
+// CHECK: encoding: [0xc4,0xa1,0x79,0x7e,0xac,0xf0,0x23,0x01,0x00,0x00]
+ vmovd %xmm5, 291(%rax,%r14,8)
+
+// CHECK: vmovd %xmm5, 508(%rdx)
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xaa,0xfc,0x01,0x00,0x00]
+ vmovd %xmm5, 508(%rdx)
+
+// CHECK: vmovd %xmm5, 512(%rdx)
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xaa,0x00,0x02,0x00,0x00]
+ vmovd %xmm5, 512(%rdx)
+
+// CHECK: vmovd %xmm5, -512(%rdx)
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xaa,0x00,0xfe,0xff,0xff]
+ vmovd %xmm5, -512(%rdx)
+
+// CHECK: vmovd %xmm5, -516(%rdx)
+// CHECK: encoding: [0xc5,0xf9,0x7e,0xaa,0xfc,0xfd,0xff,0xff]
+ vmovd %xmm5, -516(%rdx)
+
More information about the llvm-commits
mailing list