mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
98d9000b4b
NFC. Adding MC regressions tests to cover several small x86 extensions as follows: CLWB, CLZERO, F16C, INVPCID, PKU, POPCNT, RTM, SGX, SHA, SVM, VMFUNC, VTX 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 Reviewers: RKSimon, craig.topper, zvi, AndreiGrischenko Differential Revision: https://reviews.llvm.org/D41388 Change-Id: I254508cd17faca00b780be0fc2abf6c71b61faab llvm-svn: 324595
223 lines
6.8 KiB
ArmAsm
223 lines
6.8 KiB
ArmAsm
// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
|
|
|
|
// CHECK: invept 3809469200(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x84,0x82,0x10,0xe3,0x0f,0xe3]
|
|
invept 3809469200(%edx,%eax,4), %eax
|
|
|
|
// CHECK: invept 485498096, %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x05,0xf0,0x1c,0xf0,0x1c]
|
|
invept 485498096, %eax
|
|
|
|
// CHECK: invept 485498096(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
invept 485498096(%edx,%eax,4), %eax
|
|
|
|
// CHECK: invept 485498096(%edx), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
invept 485498096(%edx), %eax
|
|
|
|
// CHECK: invept 64(%edx,%eax), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x44,0x02,0x40]
|
|
invept 64(%edx,%eax), %eax
|
|
|
|
// CHECK: invept (%edx), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x02]
|
|
invept (%edx), %eax
|
|
|
|
// CHECK: invvpid 3809469200(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x84,0x82,0x10,0xe3,0x0f,0xe3]
|
|
invvpid 3809469200(%edx,%eax,4), %eax
|
|
|
|
// CHECK: invvpid 485498096, %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x05,0xf0,0x1c,0xf0,0x1c]
|
|
invvpid 485498096, %eax
|
|
|
|
// CHECK: invvpid 485498096(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
invvpid 485498096(%edx,%eax,4), %eax
|
|
|
|
// CHECK: invvpid 485498096(%edx), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
invvpid 485498096(%edx), %eax
|
|
|
|
// CHECK: invvpid 64(%edx,%eax), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x44,0x02,0x40]
|
|
invvpid 64(%edx,%eax), %eax
|
|
|
|
// CHECK: invvpid (%edx), %eax
|
|
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x02]
|
|
invvpid (%edx), %eax
|
|
|
|
// CHECK: vmcall
|
|
// CHECK: encoding: [0x0f,0x01,0xc1]
|
|
vmcall
|
|
|
|
// CHECK: vmclear -485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmclear -485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmclear 485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmclear 485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmclear 485498096(%edx)
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]
|
|
vmclear 485498096(%edx)
|
|
|
|
// CHECK: vmclear 485498096
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]
|
|
vmclear 485498096
|
|
|
|
// CHECK: vmclear 64(%edx,%eax)
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0x74,0x02,0x40]
|
|
vmclear 64(%edx,%eax)
|
|
|
|
// CHECK: vmclear (%edx)
|
|
// CHECK: encoding: [0x66,0x0f,0xc7,0x32]
|
|
vmclear (%edx)
|
|
|
|
// CHECK: vmlaunch
|
|
// CHECK: encoding: [0x0f,0x01,0xc2]
|
|
vmlaunch
|
|
|
|
// CHECK: vmptrld -485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmptrld -485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmptrld 485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrld 485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmptrld 485498096(%edx)
|
|
// CHECK: encoding: [0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrld 485498096(%edx)
|
|
|
|
// CHECK: vmptrld 485498096
|
|
// CHECK: encoding: [0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrld 485498096
|
|
|
|
// CHECK: vmptrld 64(%edx,%eax)
|
|
// CHECK: encoding: [0x0f,0xc7,0x74,0x02,0x40]
|
|
vmptrld 64(%edx,%eax)
|
|
|
|
// CHECK: vmptrld (%edx)
|
|
// CHECK: encoding: [0x0f,0xc7,0x32]
|
|
vmptrld (%edx)
|
|
|
|
// CHECK: vmptrst -485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0xc7,0xbc,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmptrst -485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmptrst 485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0xc7,0xbc,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrst 485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmptrst 485498096(%edx)
|
|
// CHECK: encoding: [0x0f,0xc7,0xba,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrst 485498096(%edx)
|
|
|
|
// CHECK: vmptrst 485498096
|
|
// CHECK: encoding: [0x0f,0xc7,0x3d,0xf0,0x1c,0xf0,0x1c]
|
|
vmptrst 485498096
|
|
|
|
// CHECK: vmptrst 64(%edx,%eax)
|
|
// CHECK: encoding: [0x0f,0xc7,0x7c,0x02,0x40]
|
|
vmptrst 64(%edx,%eax)
|
|
|
|
// CHECK: vmptrst (%edx)
|
|
// CHECK: encoding: [0x0f,0xc7,0x3a]
|
|
vmptrst (%edx)
|
|
|
|
// CHECK: vmreadl %eax, 3809469200(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0x78,0x84,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmreadl %eax, 3809469200(%edx,%eax,4)
|
|
|
|
// CHECK: vmreadl %eax, 485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0x0f,0x78,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmreadl %eax, 485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmreadl %eax, 485498096(%edx)
|
|
// CHECK: encoding: [0x0f,0x78,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmreadl %eax, 485498096(%edx)
|
|
|
|
// CHECK: vmreadl %eax, 485498096
|
|
// CHECK: encoding: [0x0f,0x78,0x05,0xf0,0x1c,0xf0,0x1c]
|
|
vmreadl %eax, 485498096
|
|
|
|
// CHECK: vmreadl %eax, 64(%edx,%eax)
|
|
// CHECK: encoding: [0x0f,0x78,0x44,0x02,0x40]
|
|
vmreadl %eax, 64(%edx,%eax)
|
|
|
|
// CHECK: vmreadl %eax, %eax
|
|
// CHECK: encoding: [0x0f,0x78,0xc0]
|
|
vmreadl %eax, %eax
|
|
|
|
// CHECK: vmreadl %eax, (%edx)
|
|
// CHECK: encoding: [0x0f,0x78,0x02]
|
|
vmreadl %eax, (%edx)
|
|
|
|
// CHECK: vmresume
|
|
// CHECK: encoding: [0x0f,0x01,0xc3]
|
|
vmresume
|
|
|
|
// CHECK: vmwritel 3809469200(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x84,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmwritel 3809469200(%edx,%eax,4), %eax
|
|
|
|
// CHECK: vmwritel 485498096, %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x05,0xf0,0x1c,0xf0,0x1c]
|
|
vmwritel 485498096, %eax
|
|
|
|
// CHECK: vmwritel 485498096(%edx,%eax,4), %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x84,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmwritel 485498096(%edx,%eax,4), %eax
|
|
|
|
// CHECK: vmwritel 485498096(%edx), %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmwritel 485498096(%edx), %eax
|
|
|
|
// CHECK: vmwritel 64(%edx,%eax), %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x44,0x02,0x40]
|
|
vmwritel 64(%edx,%eax), %eax
|
|
|
|
// CHECK: vmwritel %eax, %eax
|
|
// CHECK: encoding: [0x0f,0x79,0xc0]
|
|
vmwritel %eax, %eax
|
|
|
|
// CHECK: vmwritel (%edx), %eax
|
|
// CHECK: encoding: [0x0f,0x79,0x02]
|
|
vmwritel (%edx), %eax
|
|
|
|
// CHECK: vmxoff
|
|
// CHECK: encoding: [0x0f,0x01,0xc4]
|
|
vmxoff
|
|
|
|
// CHECK: vmxon -485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]
|
|
vmxon -485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmxon 485498096(%edx,%eax,4)
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]
|
|
vmxon 485498096(%edx,%eax,4)
|
|
|
|
// CHECK: vmxon 485498096(%edx)
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]
|
|
vmxon 485498096(%edx)
|
|
|
|
// CHECK: vmxon 485498096
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0
|
|
vmxon 485498096
|
|
|
|
// CHECK: vmxon 485498096
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]
|
|
vmxon 485498096
|
|
|
|
// CHECK: vmxon 64(%edx,%eax)
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0x74,0x02,0x40]
|
|
vmxon 64(%edx,%eax)
|
|
|
|
// CHECK: vmxon (%edx)
|
|
// CHECK: encoding: [0xf3,0x0f,0xc7,0x32]
|
|
vmxon (%edx)
|
|
|