summaryrefslogtreecommitdiff
path: root/test/MC/X86/x86-32.s
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2010-10-21 17:16:46 +0000
committerKevin Enderby <enderby@apple.com>2010-10-21 17:16:46 +0000
commit0b9325c97d031ab0e9a240d69a2be11ec1559e37 (patch)
tree440fc1241517f2cdc28f93746e95504affe543c2 /test/MC/X86/x86-32.s
parentbf9fc53f46d5badab10ec79e1e442830206f6598 (diff)
downloadllvm-0b9325c97d031ab0e9a240d69a2be11ec1559e37.tar.gz
llvm-0b9325c97d031ab0e9a240d69a2be11ec1559e37.tar.bz2
llvm-0b9325c97d031ab0e9a240d69a2be11ec1559e37.tar.xz
More tweaks to X86 instructions to allow the 'w' suffix in places it makes
sense, when the instruction takes the 16-bit ax register or m16 memory location. These changes to llvm-mc matches what the darwin assembler allows for these instructions. Also added the missing flex (without the wait prefix) and ud2a as an alias to ud2 (still to add ud2b). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117031 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/X86/x86-32.s')
-rw-r--r--test/MC/X86/x86-32.s64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/MC/X86/x86-32.s b/test/MC/X86/x86-32.s
index c474b1c589..4c59aa7890 100644
--- a/test/MC/X86/x86-32.s
+++ b/test/MC/X86/x86-32.s
@@ -702,3 +702,67 @@ pshufw $90, %mm4, %mm0
// CHECK: sidt 4(%eax)
// CHECK: encoding: [0x0f,0x01,0x48,0x04]
sidtl 4(%eax)
+
+// CHECK: verrw 2(%eax)
+// CHECK: encoding: [0x0f,0x00,0x60,0x02]
+ verrw 2(%eax)
+
+// CHECK: verrw 2(%eax)
+// CHECK: encoding: [0x0f,0x00,0x60,0x02]
+ verr 2(%eax)
+
+// CHECK: verrw %bx
+// CHECK: encoding: [0x0f,0x00,0xe3]
+ verrw %bx
+
+// CHECK: verrw %bx
+// CHECK: encoding: [0x0f,0x00,0xe3]
+ verr %bx
+
+// CHECK: verww 2(%eax)
+// CHECK: encoding: [0x0f,0x00,0x68,0x02]
+ verww 2(%eax)
+
+// CHECK: verww 2(%eax)
+// CHECK: encoding: [0x0f,0x00,0x68,0x02]
+ verw 2(%eax)
+
+// CHECK: verww %bx
+// CHECK: encoding: [0x0f,0x00,0xeb]
+ verww %bx
+
+// CHECK: verww %bx
+// CHECK: encoding: [0x0f,0x00,0xeb]
+ verw %bx
+
+// CHECK: fldcww 6(%ecx)
+// CHECK: encoding: [0xd9,0x69,0x06]
+ fldcw 6(%ecx)
+
+// CHECK: fldcww 6(%ecx)
+// CHECK: encoding: [0xd9,0x69,0x06]
+ fldcww 6(%ecx)
+
+// CHECK: fnstcww 6(%ecx)
+// CHECK: encoding: [0xd9,0x79,0x06]
+ fnstcw 6(%ecx)
+
+// CHECK: fnstcww 6(%ecx)
+// CHECK: encoding: [0xd9,0x79,0x06]
+ fnstcww 6(%ecx)
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstsw %ax
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstsww 0x7eed
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fclex
+
+// CHECK: ud2
+// CHECK: encoding: [0x0f,0x0b]
+ ud2a