From 41b1d4e4725b34ccf646c706757d8a557ab376e7 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Wed, 15 Dec 2010 18:48:45 +0000 Subject: The new t2LEApcrel* pseudo instructions need the size specified. rdar://8768390 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121876 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrFormats.td | 7 +++++++ lib/Target/ARM/ARMInstrThumb2.td | 11 ++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td index 243c7e2..eee452e 100644 --- a/lib/Target/ARM/ARMInstrFormats.td +++ b/lib/Target/ARM/ARMInstrFormats.td @@ -266,6 +266,13 @@ class tPseudoInst Predicates = [IsThumb]; } +// PseudoInst that's Thumb2-mode only. +class t2PseudoInst pattern> + : PseudoInst { + let SZ = sz; + list Predicates = [IsThumb2]; +} // Almost all ARM instructions are predicable. class I; -def t2LEApcrelJT : PseudoInst<(outs rGPR:$Rd), - (ins i32imm:$label, nohash_imm:$id, pred:$p), IIC_iALUi, - []>; +def t2LEApcrel : t2PseudoInst<(outs rGPR:$Rd), (ins i32imm:$label, pred:$p), + Size4Bytes, IIC_iALUi, []>; +def t2LEApcrelJT : t2PseudoInst<(outs rGPR:$Rd), + (ins i32imm:$label, nohash_imm:$id, pred:$p), + Size4Bytes, IIC_iALUi, + []>; // FIXME: None of these add/sub SP special instructions should be necessary -- cgit v1.1