[X86] Add assembler and disassembler test cases for clflushopt, clwb, pcommit, xsaves, xrstors, xsavec

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2015-02-06 06:19:28 +00:00
parent aaf239845a
commit 0d18b852e0
2 changed files with 153 additions and 0 deletions

View File

@ -490,6 +490,27 @@
# CHECK: xsaveopt (%eax)
0x0f 0xae 0x30
# CHECK: xsaves (%eax)
0x0f 0xc7 0x28
# CHECK: xrstors (%eax)
0x0f 0xc7 0x18
# CHECK: xsavec (%eax)
0x0f 0xc7 0x20
# CHECK: clflush (%eax)
0x0f 0xae 0x38
# CHECK: clflushopt (%eax)
0x66 0x0f 0xae 0x38
# CHECK: clwb (%eax)
0x66 0x0f 0xae 0x30
# CHECK: pcommit
0x66 0x0f 0xae 0xf8
# CHECK: vcvtph2ps %xmm0, %xmm0
0xc4 0xe2 0x79 0x13 0xc0

View File

@ -10606,3 +10606,135 @@ btc $4, (%eax)
btcw $4, (%eax)
btcl $4, (%eax)
btcq $4, (%eax)
// CHECK: clflushopt 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x66,0x0f,0xae,0xbc,0xcb,0xef,0xbe,0xad,0xde]
clflushopt 0xdeadbeef(%ebx,%ecx,8)
// CHECK: clflushopt 32493
// CHECK: encoding: [0x66,0x0f,0xae,0x3d,0xed,0x7e,0x00,0x00]
clflushopt 0x7eed
// CHECK: clflushopt 3133065982
// CHECK: encoding: [0x66,0x0f,0xae,0x3d,0xfe,0xca,0xbe,0xba]
clflushopt 0xbabecafe
// CHECK: clflushopt 305419896
// CHECK: encoding: [0x66,0x0f,0xae,0x3d,0x78,0x56,0x34,0x12]
clflushopt 0x12345678
// CHECK: clwb 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x66,0x0f,0xae,0xb4,0xcb,0xef,0xbe,0xad,0xde]
clwb 0xdeadbeef(%ebx,%ecx,8)
// CHECK: clwb 32493
// CHECK: encoding: [0x66,0x0f,0xae,0x35,0xed,0x7e,0x00,0x00]
clwb 0x7eed
// CHECK: clwb 3133065982
// CHECK: encoding: [0x66,0x0f,0xae,0x35,0xfe,0xca,0xbe,0xba]
clwb 0xbabecafe
// CHECK: clwb 305419896
// CHECK: encoding: [0x66,0x0f,0xae,0x35,0x78,0x56,0x34,0x12]
clwb 0x12345678
// CHECK: pcommit
// CHECK: encoding: [0x66,0x0f,0xae,0xf8]
pcommit
// CHECK: xsave 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xae,0xa4,0xcb,0xef,0xbe,0xad,0xde]
xsave 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xsave 32493
// CHECK: encoding: [0x0f,0xae,0x25,0xed,0x7e,0x00,0x00]
xsave 0x7eed
// CHECK: xsave 3133065982
// CHECK: encoding: [0x0f,0xae,0x25,0xfe,0xca,0xbe,0xba]
xsave 0xbabecafe
// CHECK: xsave 305419896
// CHECK: encoding: [0x0f,0xae,0x25,0x78,0x56,0x34,0x12]
xsave 0x12345678
// CHECK: xrstor 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xae,0xac,0xcb,0xef,0xbe,0xad,0xde]
xrstor 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xrstor 32493
// CHECK: encoding: [0x0f,0xae,0x2d,0xed,0x7e,0x00,0x00]
xrstor 0x7eed
// CHECK: xrstor 3133065982
// CHECK: encoding: [0x0f,0xae,0x2d,0xfe,0xca,0xbe,0xba]
xrstor 0xbabecafe
// CHECK: xrstor 305419896
// CHECK: encoding: [0x0f,0xae,0x2d,0x78,0x56,0x34,0x12]
xrstor 0x12345678
// CHECK: xsaveopt 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xae,0xb4,0xcb,0xef,0xbe,0xad,0xde]
xsaveopt 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xsaveopt 32493
// CHECK: encoding: [0x0f,0xae,0x35,0xed,0x7e,0x00,0x00]
xsaveopt 0x7eed
// CHECK: xsaveopt 3133065982
// CHECK: encoding: [0x0f,0xae,0x35,0xfe,0xca,0xbe,0xba]
xsaveopt 0xbabecafe
// CHECK: xsaveopt 305419896
// CHECK: encoding: [0x0f,0xae,0x35,0x78,0x56,0x34,0x12]
xsaveopt 0x12345678
// CHECK: xsaves 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xc7,0xac,0xcb,0xef,0xbe,0xad,0xde]
xsaves 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xsaves 32493
// CHECK: encoding: [0x0f,0xc7,0x2d,0xed,0x7e,0x00,0x00]
xsaves 0x7eed
// CHECK: xsaves 3133065982
// CHECK: encoding: [0x0f,0xc7,0x2d,0xfe,0xca,0xbe,0xba]
xsaves 0xbabecafe
// CHECK: xsaves 305419896
// CHECK: encoding: [0x0f,0xc7,0x2d,0x78,0x56,0x34,0x12]
xsaves 0x12345678
// CHECK: xsavec 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xc7,0xa4,0xcb,0xef,0xbe,0xad,0xde]
xsavec 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xsavec 32493
// CHECK: encoding: [0x0f,0xc7,0x25,0xed,0x7e,0x00,0x00]
xsavec 0x7eed
// CHECK: xsavec 3133065982
// CHECK: encoding: [0x0f,0xc7,0x25,0xfe,0xca,0xbe,0xba]
xsavec 0xbabecafe
// CHECK: xsavec 305419896
// CHECK: encoding: [0x0f,0xc7,0x25,0x78,0x56,0x34,0x12]
xsavec 0x12345678
// CHECK: xrstors 3735928559(%ebx,%ecx,8)
// CHECK: encoding: [0x0f,0xc7,0x9c,0xcb,0xef,0xbe,0xad,0xde]
xrstors 0xdeadbeef(%ebx,%ecx,8)
// CHECK: xrstors 32493
// CHECK: encoding: [0x0f,0xc7,0x1d,0xed,0x7e,0x00,0x00]
xrstors 0x7eed
// CHECK: xrstors 3133065982
// CHECK: encoding: [0x0f,0xc7,0x1d,0xfe,0xca,0xbe,0xba]
xrstors 0xbabecafe
// CHECK: xrstors 305419896
// CHECK: encoding: [0x0f,0xc7,0x1d,0x78,0x56,0x34,0x12]
xrstors 0x12345678