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: