implement unconditional branches
fix select.ll
llvm-svn: 30186
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index 58c7b40..6cd90d9 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -127,6 +127,10 @@
"b$cc $dst",
[(armbr bb:$dst, imm:$cc)]>;
+def b : InstARM<(ops brtarget:$dst),
+ "b $dst",
+ [(br bb:$dst)]>;
+
def cmp : InstARM<(ops IntRegs:$a, IntRegs:$b),
"cmp $a, $b",
[(armcmp IntRegs:$a, IntRegs:$b)]>;
diff --git a/llvm/test/Regression/CodeGen/ARM/select.ll b/llvm/test/Regression/CodeGen/ARM/select.ll
index 87251ab..4e017bf 100644
--- a/llvm/test/Regression/CodeGen/ARM/select.ll
+++ b/llvm/test/Regression/CodeGen/ARM/select.ll
@@ -1,5 +1,4 @@
; RUN: llvm-as < %s | llc -march=arm
-; XFAIL: *
int %f(int %a) {
entry: