summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2014-04-09 14:44:03 +0000
committerBradley Smith <bradley.smith@arm.com>2014-04-09 14:44:03 +0000
commit86c067813ca1e49a6076366b52b15eb48c88052e (patch)
tree3873cfb2eceece127252ac9bad5e6ac12b4ac01c /test
parent5a09ce9ad1b9521e8d0989145d179dfb0e85dbde (diff)
downloadllvm-86c067813ca1e49a6076366b52b15eb48c88052e.tar.gz
llvm-86c067813ca1e49a6076366b52b15eb48c88052e.tar.bz2
llvm-86c067813ca1e49a6076366b52b15eb48c88052e.tar.xz
[ARM64] Tighten up the special casing in emitting arithmetic extends. UXTW should only be translated when the instruction uses WSP, not SP. Vice versa for UXTX and 64-bit instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205886 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/ARM64/arithmetic-encoding.s12
1 files changed, 6 insertions, 6 deletions
diff --git a/test/MC/ARM64/arithmetic-encoding.s b/test/MC/ARM64/arithmetic-encoding.s
index 3177ca49ee..6d28bce5a8 100644
--- a/test/MC/ARM64/arithmetic-encoding.s
+++ b/test/MC/ARM64/arithmetic-encoding.s
@@ -368,8 +368,8 @@ foo:
; CHECK: subs x3, sp, x9, lsl #2 ; encoding: [0xe3,0x6b,0x29,0xeb]
; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b]
; CHECK: cmp wsp, w8 ; encoding: [0xff,0x43,0x28,0x6b]
-; CHECK: cmp sp, w8 ; encoding: [0xff,0x43,0x28,0xeb]
-; CHECK: cmp sp, w8 ; encoding: [0xff,0x43,0x28,0xeb]
+; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb]
+; CHECK: cmp sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xeb]
sub wsp, w9, w8, uxtw
sub w1, wsp, w8, uxtw
@@ -383,11 +383,11 @@ foo:
; CHECK: sub wsp, w9, w8 ; encoding: [0x3f,0x41,0x28,0x4b]
; CHECK: sub w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x4b]
; CHECK: sub wsp, wsp, w8 ; encoding: [0xff,0x43,0x28,0x4b]
-; CHECK: sub sp, x9, w8 ; encoding: [0x3f,0x41,0x28,0xcb]
-; CHECK: sub x1, sp, w8 ; encoding: [0xe1,0x43,0x28,0xcb]
-; CHECK: sub sp, sp, w8 ; encoding: [0xff,0x43,0x28,0xcb]
+; CHECK: sub sp, x9, w8, uxtw ; encoding: [0x3f,0x41,0x28,0xcb]
+; CHECK: sub x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xcb]
+; CHECK: sub sp, sp, w8, uxtw ; encoding: [0xff,0x43,0x28,0xcb]
; CHECK: subs w1, wsp, w8 ; encoding: [0xe1,0x43,0x28,0x6b]
-; CHECK: subs x1, sp, w8 ; encoding: [0xe1,0x43,0x28,0xeb]
+; CHECK: subs x1, sp, w8, uxtw ; encoding: [0xe1,0x43,0x28,0xeb]
;==---------------------------------------------------------------------------==
; Signed/Unsigned divide