diff options
author | Eric Christopher <echristo@apple.com> | 2011-05-27 03:50:53 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-05-27 03:50:53 +0000 |
commit | 9b67db8ea7a5466a31a3e498041ab2d622cc18b5 (patch) | |
tree | ccb08f5580bf5625ff89d0a889d4efb7121c9c1f /llvm/lib | |
parent | bd59e893319e810b342a64aa70d290cfc1482cb2 (diff) | |
download | bcm5719-llvm-9b67db8ea7a5466a31a3e498041ab2d622cc18b5.tar.gz bcm5719-llvm-9b67db8ea7a5466a31a3e498041ab2d622cc18b5.zip |
Make the branch encoding for tBcc more obvious that it's a 4-byte opcode
followed by a conditional and imm8.
llvm-svn: 132179
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrFormats.td | 4 | ||||
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb.td | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrFormats.td b/llvm/lib/Target/ARM/ARMInstrFormats.td index 13400122886..897d8a5d79e 100644 --- a/llvm/lib/Target/ARM/ARMInstrFormats.td +++ b/llvm/lib/Target/ARM/ARMInstrFormats.td @@ -1023,6 +1023,10 @@ class T1LoadStore<bits<4> opA, bits<3> opB> : Encoding16 { } class T1LdStSP<bits<3> opB> : T1LoadStore<0b1001, opB>; // SP relative +class T1BranchCond<bits<4> opcode> : Encoding16 { + let Inst{15-12} = opcode; +} + // Helper classes to encode Thumb1 loads and stores. For immediates, the // following bits are used for "opA" (see A6.2.4): // diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td index 350e0bae6b8..7f3b4740954 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb.td @@ -551,7 +551,7 @@ let isBranch = 1, isTerminator = 1 in def tBcc : T1I<(outs), (ins t_bcctarget:$target, pred:$p), IIC_Br, "b${p}\t$target", [/*(ARMbrcond bb:$target, imm:$cc)*/]>, - T1Encoding<{1,1,0,1,?,?}> { + T1BranchCond<{1,1,0,1}> { bits<4> p; bits<8> target; let Inst{11-8} = p; |