summaryrefslogtreecommitdiff
path: root/test/MC/X86/x86-16.s
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2014-01-08 12:58:18 +0000
committerDavid Woodhouse <dwmw2@infradead.org>2014-01-08 12:58:18 +0000
commit4f32ce2436d11f4de00db677f2c1d0a4022dbcfe (patch)
tree62a31cd9cbf764d7023ccc94b4f629d5967407e4 /test/MC/X86/x86-16.s
parent975fe2cfc34c605746a644e96ff2cb96a7855131 (diff)
downloadllvm-4f32ce2436d11f4de00db677f2c1d0a4022dbcfe.tar.gz
llvm-4f32ce2436d11f4de00db677f2c1d0a4022dbcfe.tar.bz2
llvm-4f32ce2436d11f4de00db677f2c1d0a4022dbcfe.tar.xz
[x86] Use 16-bit addressing where possible in 16-bit mode
Where "where possible" means that it's an immediate value and it's below 0x10000. In fact GAS will either truncate or error with larger values, and will insist on using the addr32 prefix to get 32-bit addressing. So perhaps we should do that, in a later patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198758 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/X86/x86-16.s')
-rw-r--r--test/MC/X86/x86-16.s52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/MC/X86/x86-16.s b/test/MC/X86/x86-16.s
index e395a779f2..4f2108cbde 100644
--- a/test/MC/X86/x86-16.s
+++ b/test/MC/X86/x86-16.s
@@ -319,6 +319,10 @@ cmovnae %bx,%bx
// CHECK: encoding: [0x9b]
fwait
+// CHECK: [0x65,0x66,0x8b,0x06,0x7c,0x00]
+// FIXME: This is a correct bug poor encoding: Use 65 66 a1 7c 00
+ movl %gs:124, %eax
+
// CHECK: pusha
// CHECK: encoding: [0x60]
pusha
@@ -701,6 +705,54 @@ pshufw $90, %mm4, %mm0
// CHECK: encoding: [0xdf,0xe9]
fucompi
+// CHECK: fldcw 32493
+// CHECK: encoding: [0xd9,0x2e,0xed,0x7e]
+ fldcww 0x7eed
+
+// CHECK: fldcw 32493
+// CHECK: encoding: [0xd9,0x2e,0xed,0x7e]
+ fldcw 0x7eed
+
+// CHECK: fnstcw 32493
+// CHECK: encoding: [0xd9,0x3e,0xed,0x7e]
+ fnstcww 0x7eed
+
+// CHECK: fnstcw 32493
+// CHECK: encoding: [0xd9,0x3e,0xed,0x7e]
+ fnstcw 0x7eed
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstcww 0x7eed
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstcw 0x7eed
+
+// CHECK: fnstsw 32493
+// CHECK: encoding: [0xdd,0x3e,0xed,0x7e]
+ fnstsww 0x7eed
+
+// CHECK: fnstsw 32493
+// CHECK: encoding: [0xdd,0x3e,0xed,0x7e]
+ fnstsw 0x7eed
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstsww 0x7eed
+
+// CHECK: wait
+// CHECK: encoding: [0x9b]
+ fstsw 0x7eed
+
+// CHECK: verr 32493
+// CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e]
+ verrw 0x7eed
+
+// CHECK: verr 32493
+// CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e]
+ verr 0x7eed
+
// CHECK: wait
// CHECK: encoding: [0x9b]
fclex