From 0d18b852e02f4c0e12e1c5369b79eca57a3f1d6c Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Fri, 6 Feb 2015 06:19:28 +0000 Subject: [PATCH] [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 --- test/MC/Disassembler/X86/x86-32.txt | 21 +++++ test/MC/X86/x86-32-coverage.s | 132 ++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) diff --git a/test/MC/Disassembler/X86/x86-32.txt b/test/MC/Disassembler/X86/x86-32.txt index 661aee17de9..01ae7114dcb 100644 --- a/test/MC/Disassembler/X86/x86-32.txt +++ b/test/MC/Disassembler/X86/x86-32.txt @@ -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 diff --git a/test/MC/X86/x86-32-coverage.s b/test/MC/X86/x86-32-coverage.s index 4ae04407e5d..4f9066ce54e 100644 --- a/test/MC/X86/x86-32-coverage.s +++ b/test/MC/X86/x86-32-coverage.s @@ -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 -- 2.34.1