[llvm] r205890 - [ARM64] SXTW/UXTW are only valid aliases for 32-bit operations.
Bradley Smith
bradley.smith at arm.com
Wed Apr 9 07:44:22 PDT 2014
Author: brasmi01
Date: Wed Apr 9 09:44:22 2014
New Revision: 205890
URL: http://llvm.org/viewvc/llvm-project?rev=205890&view=rev
Log:
[ARM64] SXTW/UXTW are only valid aliases for 32-bit operations.
Modified:
llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp
llvm/trunk/test/MC/Disassembler/ARM64/canonical-form.txt
Modified: llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp?rev=205890&r1=205889&r2=205890&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp Wed Apr 9 09:44:22 2014
@@ -96,7 +96,9 @@ void ARM64InstPrinter::printInst(const M
AsmMnemonic = IsSigned ? "sxth" : "uxth";
break;
case 31:
- AsmMnemonic = IsSigned ? "sxtw" : "uxtw";
+ // *xtw is only valid for 64-bit operations.
+ if (Opcode == ARM64::SBFMXri || Opcode == ARM64::UBFMXri)
+ AsmMnemonic = IsSigned ? "sxtw" : "uxtw";
break;
}
Modified: llvm/trunk/test/MC/Disassembler/ARM64/canonical-form.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM64/canonical-form.txt?rev=205890&r1=205889&r2=205890&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM64/canonical-form.txt (original)
+++ llvm/trunk/test/MC/Disassembler/ARM64/canonical-form.txt Wed Apr 9 09:44:22 2014
@@ -15,3 +15,7 @@
0x1f 0x00 0x00 0x11
# CHECK: mov wsp, w0
+
+0x00 0x7c 0x00 0x13
+
+# CHECK: asr w0, w0, #0
More information about the llvm-commits
mailing list