From: Tilmann Scheller Date: Tue, 16 Jul 2013 21:52:34 +0000 (+0000) Subject: ARM: Add support for the Thumb2 PLI alternate literal form. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=305bb9044215a72d64fcbc753419ab71098dd724;p=platform%2Fupstream%2Fllvm.git ARM: Add support for the Thumb2 PLI alternate literal form. This adds an instruction alias to make the assembler recognize the alternate literal form: pli [PC, #+/-] See A8.8.129 in the ARM ARM (DDI 0406C.b). Fixes . llvm-svn: 186459 --- diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td index 8d15630..19d76e5 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb2.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td @@ -4427,3 +4427,6 @@ def : t2InstAlias<"ldrsh${p}.w $Rt, $addr", def : t2InstAlias<"add${p} $Rd, pc, $imm", (t2ADR rGPR:$Rd, imm0_4095:$imm, pred:$p)>; + +// PLI with alternate literal form. +def : t2InstAlias<"pli${p} $addr", (t2PLIpci t2ldr_pcrel_imm12:$addr, pred:$p)>; diff --git a/llvm/test/MC/ARM/basic-thumb2-instructions.s b/llvm/test/MC/ARM/basic-thumb2-instructions.s index 9136aa5..50a505e 100644 --- a/llvm/test/MC/ARM/basic-thumb2-instructions.s +++ b/llvm/test/MC/ARM/basic-thumb2-instructions.s @@ -1599,12 +1599,16 @@ _func: pli [r6, #33] pli [r6, #257] pli [r7, #257] + pli [pc, #+4095] + pli [pc, #-4095] @ CHECK: pli [r5, #-4] @ encoding: [0x15,0xf9,0x04,0xfc] @ CHECK: pli [r6, #32] @ encoding: [0x96,0xf9,0x20,0xf0] @ CHECK: pli [r6, #33] @ encoding: [0x96,0xf9,0x21,0xf0] @ CHECK: pli [r6, #257] @ encoding: [0x96,0xf9,0x01,0xf1] @ CHECK: pli [r7, #257] @ encoding: [0x97,0xf9,0x01,0xf1] +@ CHECK: pli [pc, #4095] @ encoding: [0x9f,0xf9,0xff,0xff] +@ CHECK: pli [pc, #-4095] @ encoding: [0x1f,0xf9,0xff,0xff] @------------------------------------------------------------------------------