diff options
author | Bradley Smith <bradley.smith@arm.com> | 2014-04-09 14:44:03 +0000 |
---|---|---|
committer | Bradley Smith <bradley.smith@arm.com> | 2014-04-09 14:44:03 +0000 |
commit | 86c067813ca1e49a6076366b52b15eb48c88052e (patch) | |
tree | 3873cfb2eceece127252ac9bad5e6ac12b4ac01c /test | |
parent | 5a09ce9ad1b9521e8d0989145d179dfb0e85dbde (diff) | |
download | llvm-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.s | 12 |
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 |