[X86] Add assembler and disassembler test cases for clflushopt, clwb, pcommit, xsaves...
authorCraig Topper <craig.topper@gmail.com>
Fri, 6 Feb 2015 06:19:28 +0000 (06:19 +0000)
committerCraig Topper <craig.topper@gmail.com>
Fri, 6 Feb 2015 06:19:28 +0000 (06:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228385 91177308-0d34-0410-b5e6-96231b3b80d8

test/MC/Disassembler/X86/x86-32.txt
test/MC/X86/x86-32-coverage.s

index 661aee17de9972fe2c3ae0ace2a583cf0149ffb5..01ae7114dcb827c89345e996b6f5a5a2fa07dd66 100644 (file)
 # 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
 
index 4ae04407e5d7f3053205f920b2a15681b542e620..4f9066ce54e567824b4d0e29754c9da875c84f03 100644 (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