diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-12-04 00:20:40 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-12-04 00:20:40 +0000 |
commit | ce18d7ebb5e17df724c1e0289c9897b0c717a691 (patch) | |
tree | 09f6fb5ba53e5e28b65f9897dbef7b6ecf1812c3 /llvm/lib | |
parent | eed4b5b2303b55b56804a23c12ff17dda48ba096 (diff) | |
download | bcm5719-llvm-ce18d7ebb5e17df724c1e0289c9897b0c717a691.tar.gz bcm5719-llvm-ce18d7ebb5e17df724c1e0289c9897b0c717a691.zip |
Encode condition code for Thumb1 conditional branch instruction.
llvm-svn: 120865
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrThumb.td | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb.td b/llvm/lib/Target/ARM/ARMInstrThumb.td index f0fcdd49966..a8681aef3c8 100644 --- a/llvm/lib/Target/ARM/ARMInstrThumb.td +++ b/llvm/lib/Target/ARM/ARMInstrThumb.td @@ -475,10 +475,13 @@ let isBranch = 1, isTerminator = 1, isBarrier = 1 in { // FIXME: should be able to write a pattern for ARMBrcond, but can't use // a two-value operand where a dag node expects two operands. :( let isBranch = 1, isTerminator = 1 in - def tBcc : T1I<(outs), (ins brtarget:$target, pred:$cc), IIC_Br, - "b$cc\t$target", + def tBcc : T1I<(outs), (ins brtarget:$target, pred:$p), IIC_Br, + "b${p}\t$target", [/*(ARMbrcond bb:$target, imm:$cc)*/]>, - T1Encoding<{1,1,0,1,?,?}>; + T1Encoding<{1,1,0,1,?,?}> { + bits<4> p; + let Inst{11-8} = p; +} // Compare and branch on zero / non-zero let isBranch = 1, isTerminator = 1 in { |