From 34869503cb814221b3260399835e02f68e69ee02 Mon Sep 17 00:00:00 2001 From: Tilmann Scheller Date: Fri, 19 Jul 2013 16:18:56 +0000 Subject: [PATCH] ARM: Add instruction aliases for the Thumb2 PLD/PLDW (literal) alternate form. See A8.8.127 in ARM DDI 0406C.b. Related to . llvm-svn: 186682 --- llvm/lib/Target/ARM/ARMInstrThumb2.td | 7 ++++++- llvm/test/MC/ARM/basic-thumb2-instructions.s | 3 +++ llvm/test/MC/ARM/thumb2-pldw.s | 7 +++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 llvm/test/MC/ARM/thumb2-pldw.s diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td index f014e02..fdbf5ae 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb2.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td @@ -4428,7 +4428,12 @@ 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. +// PLD/PLDW/PLI with alternate literal form. +def : t2InstAlias<"pld${p} $addr", + (t2PLDpci t2ldr_pcrel_imm12:$addr, pred:$p)>; +def : InstAlias<"pldw${p} $addr", + (t2PLDWpci t2ldr_pcrel_imm12:$addr, pred:$p)>, + Requires<[IsThumb2,HasV7,HasMP]>; def : InstAlias<"pli${p} $addr", (t2PLIpci t2ldr_pcrel_imm12:$addr, pred:$p)>, Requires<[IsThumb2,HasV7]>; diff --git a/llvm/test/MC/ARM/basic-thumb2-instructions.s b/llvm/test/MC/ARM/basic-thumb2-instructions.s index 50a505e..2bd9a13 100644 --- a/llvm/test/MC/ARM/basic-thumb2-instructions.s +++ b/llvm/test/MC/ARM/basic-thumb2-instructions.s @@ -1573,6 +1573,9 @@ _func: @ FIXME: pld _foo @ encoding: [0x9f'A',0xf8'A',A,0xf0'A'] @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 + pld [pc,#-4095] +@ CHECK: pld [pc, #-4095] @ encoding: [0x1f,0xf8,0xff,0xff] + @------------------------------------------------------------------------------ @ PLD(register) diff --git a/llvm/test/MC/ARM/thumb2-pldw.s b/llvm/test/MC/ARM/thumb2-pldw.s new file mode 100644 index 0000000..7acbd39 --- /dev/null +++ b/llvm/test/MC/ARM/thumb2-pldw.s @@ -0,0 +1,7 @@ +@ RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -mattr=+mp -show-encoding < %s | FileCheck %s + +@------------------------------------------------------------------------------ +@ PLD(literal) +@------------------------------------------------------------------------------ + pldw [pc,#-4095] +@ CHECK: pldw [pc, #-4095] @ encoding: [0x3f,0xf8,0xff,0xff] -- 2.7.4