[llvm-commits] [llvm] r138348 - in /llvm/trunk: lib/Target/ARM/ARMInstrThumb.td test/MC/ARM/basic-thumb-instructions.s

Jim Grosbach grosbach at apple.com
Tue Aug 23 11:39:41 PDT 2011


Author: grosbach
Date: Tue Aug 23 13:39:41 2011
New Revision: 138348

URL: http://llvm.org/viewvc/llvm-project?rev=138348&view=rev
Log:
Thumb parsing and encoding for tSTRspi.

Modified:
    llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
    llvm/trunk/test/MC/ARM/basic-thumb-instructions.s

Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb.td?rev=138348&r1=138347&r2=138348&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Tue Aug 23 13:39:41 2011
@@ -194,6 +194,8 @@
 
 // t_addrmode_sp := sp + imm8 * 4
 //
+// FIXME: This really shouldn't have an explicit SP operand at all. It should
+// be implicit, just like in the instruction encoding itself.
 def t_addrmode_sp_asm_operand : AsmOperandClass { let Name = "MemThumbSPI"; }
 def t_addrmode_sp : Operand<i32>,
                     ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> {

Modified: llvm/trunk/test/MC/ARM/basic-thumb-instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/basic-thumb-instructions.s?rev=138348&r1=138347&r2=138348&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/basic-thumb-instructions.s (original)
+++ llvm/trunk/test/MC/ARM/basic-thumb-instructions.s Tue Aug 23 13:39:41 2011
@@ -444,11 +444,19 @@
         str r2, [r7, #0]
         str r5, [r1, #4]
         str r3, [r7, #124]
+        str r2, [sp]
+        str r3, [sp, #0]
+        str r4, [sp, #20]
+        str r5, [sp, #1020]
 
 @ CHECK: str	r2, [r7]                @ encoding: [0x3a,0x60]
 @ CHECK: str	r2, [r7]                @ encoding: [0x3a,0x60]
 @ CHECK: str	r5, [r1, #4]            @ encoding: [0x4d,0x60]
 @ CHECK: str	r3, [r7, #124]          @ encoding: [0xfb,0x67]
+@ CHECK: str	r2, [sp]                @ encoding: [0x00,0x92]
+@ CHECK: str	r3, [sp]                @ encoding: [0x00,0x93]
+@ CHECK: str	r4, [sp, #20]           @ encoding: [0x05,0x94]
+@ CHECK: str	r5, [sp, #1020]         @ encoding: [0xff,0x95]
 
 
 @------------------------------------------------------------------------------





More information about the llvm-commits mailing list