[X86] Adding full coverage of MC encoding for the XOP and LWP ISAs.

Adding MC regressions tests to cover the XOP isa set.
This patch is part of a larger task to cover MC encoding of all X86 isa sets started in revision: https://reviews.llvm.org/D39952

Differential Revision: https://reviews.llvm.org/D41392

llvm-svn: 350237
This commit is contained in:
Craig Topper 2019-01-02 18:09:41 +00:00
parent 3109f3a4ab
commit 44bcc824d3
4 changed files with 6946 additions and 0 deletions

65
llvm/test/MC/X86/LWP-32.s Normal file
View File

@ -0,0 +1,65 @@
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
// CHECK: llwpcb %eax
// CHECK: encoding: [0x8f,0xe9,0x78,0x12,0xc0]
llwpcb %eax
// CHECK: lwpins $0, -485498096(%edx,%eax,4), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x84,0x82,0x10,0xe3,0x0f,0xe3,0x00,0x00,0x00,0x00]
lwpins $0, -485498096(%edx,%eax,4), %edx
// CHECK: lwpins $0, 485498096(%edx,%eax,4), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x84,0x82,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096(%edx,%eax,4), %edx
// CHECK: lwpins $0, 485498096(%edx), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x82,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096(%edx), %edx
// CHECK: lwpins $0, 485498096, %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x05,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096, %edx
// CHECK: lwpins $0, 64(%edx,%eax), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x44,0x02,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%edx,%eax), %edx
// CHECK: lwpins $0, %eax, %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0xc0,0x00,0x00,0x00,0x00]
lwpins $0, %eax, %edx
// CHECK: lwpins $0, (%edx), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x02,0x00,0x00,0x00,0x00]
lwpins $0, (%edx), %edx
// CHECK: lwpval $0, -485498096(%edx,%eax,4), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00,0x00,0x00,0x00]
lwpval $0, -485498096(%edx,%eax,4), %edx
// CHECK: lwpval $0, 485498096(%edx,%eax,4), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096(%edx,%eax,4), %edx
// CHECK: lwpval $0, 485498096(%edx), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x8a,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096(%edx), %edx
// CHECK: lwpval $0, 485498096, %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x0d,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096, %edx
// CHECK: lwpval $0, 64(%edx,%eax), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x4c,0x02,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%edx,%eax), %edx
// CHECK: lwpval $0, %eax, %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0xc8,0x00,0x00,0x00,0x00]
lwpval $0, %eax, %edx
// CHECK: lwpval $0, (%edx), %edx
// CHECK: encoding: [0x8f,0xea,0x68,0x12,0x0a,0x00,0x00,0x00,0x00]
lwpval $0, (%edx), %edx
// CHECK: slwpcb %eax
// CHECK: encoding: [0x8f,0xe9,0x78,0x12,0xc8]
slwpcb %eax

129
llvm/test/MC/X86/LWP-64.s Normal file
View File

@ -0,0 +1,129 @@
// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
// CHECK: llwpcb %r13d
// CHECK: encoding: [0x8f,0xc9,0x78,0x12,0xc5]
llwpcb %r13d
// CHECK: llwpcb %r13
// CHECK: encoding: [0x8f,0xc9,0xf8,0x12,0xc5]
llwpcb %r13
// CHECK: lwpins $0, 485498096, %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096, %r15d
// CHECK: lwpins $0, 485498096, %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096, %r15
// CHECK: lwpins $0, 64(%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x42,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx), %r15d
// CHECK: lwpins $0, 64(%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x42,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx), %r15
// CHECK: lwpins $0, 64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x82,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax,4), %r15d
// CHECK: lwpins $0, 64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x82,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax,4), %r15
// CHECK: lwpins $0, -64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpins $0, -64(%rdx,%rax,4), %r15d
// CHECK: lwpins $0, -64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpins $0, -64(%rdx,%rax,4), %r15
// CHECK: lwpins $0, 64(%rdx,%rax), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x02,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax), %r15d
// CHECK: lwpins $0, 64(%rdx,%rax), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x02,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax), %r15
// CHECK: lwpins $0, %r13d, %r15d
// CHECK: encoding: [0x8f,0xca,0x00,0x12,0xc5,0x00,0x00,0x00,0x00]
lwpins $0, %r13d, %r15d
// CHECK: lwpins $0, %r13d, %r15
// CHECK: encoding: [0x8f,0xca,0x80,0x12,0xc5,0x00,0x00,0x00,0x00]
lwpins $0, %r13d, %r15
// CHECK: lwpins $0, (%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x02,0x00,0x00,0x00,0x00]
lwpins $0, (%rdx), %r15d
// CHECK: lwpins $0, (%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x02,0x00,0x00,0x00,0x00]
lwpins $0, (%rdx), %r15
// CHECK: lwpval $0, 485498096, %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096, %r15d
// CHECK: lwpval $0, 485498096, %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096, %r15
// CHECK: lwpval $0, 64(%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4a,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx), %r15d
// CHECK: lwpval $0, 64(%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4a,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx), %r15
// CHECK: lwpval $0, 64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x82,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax,4), %r15d
// CHECK: lwpval $0, 64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x82,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax,4), %r15
// CHECK: lwpval $0, -64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpval $0, -64(%rdx,%rax,4), %r15d
// CHECK: lwpval $0, -64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpval $0, -64(%rdx,%rax,4), %r15
// CHECK: lwpval $0, 64(%rdx,%rax), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x02,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax), %r15d
// CHECK: lwpval $0, 64(%rdx,%rax), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x02,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax), %r15
// CHECK: lwpval $0, %r13d, %r15d
// CHECK: encoding: [0x8f,0xca,0x00,0x12,0xcd,0x00,0x00,0x00,0x00]
lwpval $0, %r13d, %r15d
// CHECK: lwpval $0, %r13d, %r15
// CHECK: encoding: [0x8f,0xca,0x80,0x12,0xcd,0x00,0x00,0x00,0x00]
lwpval $0, %r13d, %r15
// CHECK: lwpval $0, (%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x0a,0x00,0x00,0x00,0x00]
lwpval $0, (%rdx), %r15d
// CHECK: lwpval $0, (%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x0a,0x00,0x00,0x00,0x00]
lwpval $0, (%rdx), %r15
// CHECK: slwpcb %r13d
// CHECK: encoding: [0x8f,0xc9,0x78,0x12,0xcd]
slwpcb %r13d
// CHECK: slwpcb %r13
// CHECK: encoding: [0x8f,0xc9,0xf8,0x12,0xcd]
slwpcb %r13

2250
llvm/test/MC/X86/XOP-32.s Normal file

File diff suppressed because it is too large Load Diff

4502
llvm/test/MC/X86/XOP-64.s Normal file

File diff suppressed because it is too large Load Diff