aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-07-11 21:41:15 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:47:08 +0100
commit5692716770e9e2e733d0e7ab6ce0bd70cb830aba (patch)
tree7b3b856046c5052a9e416389758f5ada4a6ba52f /tests
parente3f2a683113bb28bc1e9820dfe18d3bd8e0156d2 (diff)
downloadtinycc-5692716770e9e2e733d0e7ab6ce0bd70cb830aba.tar.gz
tinycc-5692716770e9e2e733d0e7ab6ce0bd70cb830aba.tar.bz2
x86-asm: Fix lar opcode operands
lar can accept multiple sizes as well (wlx), like lsl. When using autosize it's important to look at the destination operand first; when it's a register that one determines the size, not the input operand.
Diffstat (limited to 'tests')
-rw-r--r--tests/asmtest.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/asmtest.S b/tests/asmtest.S
index ebc17fc..0bbd764 100644
--- a/tests/asmtest.S
+++ b/tests/asmtest.S
@@ -625,8 +625,15 @@ int $0x10
clflush 0x1000(%rax,%rcx)
fxsaveq (%rdx)
fxrstorq (%rcx)
+
#endif
+ lar %ax,%dx
+ lar %eax,%dx
+ lar %ax,%edx
+ lar %eax,%edx
+ lar %ax,%rdx
+ lar %eax,%rdx
emms
movd %edx, %mm3
movd 0x1000, %mm2