Set the 'MadeChange' variable if we are deleting blocks.
[oota-llvm.git] / test / CodeGen / MSP430 / setcc.ll
index ecf066154fc384dc80cd0668a9dc51166444e668..c99b17e1436e7d06abf9747652807073ee8b3d99 100644 (file)
@@ -1,5 +1,4 @@
 ; RUN: llc -march=msp430 < %s | FileCheck %s
-; XFAIL: *
 target datalayout = "e-p:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:16:32"
 target triple = "msp430-generic-generic"
 
@@ -11,9 +10,9 @@ define i16 @sccweqand(i16 %a, i16 %b) nounwind {
 }
 ; CHECK: sccweqand:
 ; CHECK:       bit.w   r14, r15
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
-; CHECK-NEXT:  xor.w   #1, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       rra.w   r15
+; CHECK:       and.w   #1, r15
 
 define i16 @sccwneand(i16 %a, i16 %b) nounwind {
        %t1 = and i16 %a, %b
@@ -23,8 +22,8 @@ define i16 @sccwneand(i16 %a, i16 %b) nounwind {
 }
 ; CHECK: sccwneand:
 ; CHECK:       bit.w   r14, r15
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       and.w   #1, r15
 
 define i16 @sccwne(i16 %a, i16 %b) nounwind {
        %t1 = icmp ne i16 %a, %b
@@ -32,10 +31,11 @@ define i16 @sccwne(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccwne:
-; CHECK:       cmp.w   r15, r14
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  rra.w   r15
-; CHECK-NEXT:  and.w   #1, r15
+; CHECK:       cmp.w   r14, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       rra.w   r15
+; CHECK:       and.w   #1, r15
+; CHECK:       xor.w   #1, r15
 
 define i16 @sccweq(i16 %a, i16 %b) nounwind {
        %t1 = icmp eq i16 %a, %b
@@ -43,11 +43,10 @@ define i16 @sccweq(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccweq:
-; CHECK:       cmp.w   r15, r14
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  rra.w   r15
-; CHECK-NEXT:  and.w   #1, r15
-; CHECK-NEXT:  xor.w   #1, r15
+; CHECK:       cmp.w   r14, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       rra.w   r15
+; CHECK:       and.w   #1, r15
 
 define i16 @sccwugt(i16 %a, i16 %b) nounwind {
        %t1 = icmp ugt i16 %a, %b
@@ -55,10 +54,10 @@ define i16 @sccwugt(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccwugt:
-; CHECK:       cmp.w   r14, r15
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
-; CHECK-NEXT:  xor.w   #1, r15
+; CHECK:       cmp.w   r15, r14
+; CHECK:       mov.w   r2, r15
+; CHECK:       and.w   #1, r15
+; CHECK:       xor.w   #1, r15
 
 define i16 @sccwuge(i16 %a, i16 %b) nounwind {
        %t1 = icmp uge i16 %a, %b
@@ -66,9 +65,9 @@ define i16 @sccwuge(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccwuge:
-; CHECK:       cmp.w   r15, r14
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
+; CHECK:       cmp.w   r14, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       and.w   #1, r15
 
 define i16 @sccwult(i16 %a, i16 %b) nounwind {
        %t1 = icmp ult i16 %a, %b
@@ -76,10 +75,10 @@ define i16 @sccwult(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccwult:
-; CHECK:       cmp.w   r15, r14
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
-; CHECK-NEXT:  xor.w   #1, r15
+; CHECK:       cmp.w   r14, r15
+; CHECK:       mov.w   r2, r15
+; CHECK:       and.w   #1, r15
+; CHECK:       xor.w   #1, r15
 
 define i16 @sccwule(i16 %a, i16 %b) nounwind {
        %t1 = icmp ule i16 %a, %b
@@ -87,9 +86,9 @@ define i16 @sccwule(i16 %a, i16 %b) nounwind {
        ret i16 %t2
 }
 ; CHECK:sccwule:
-; CHECK:       cmp.w   r14, r15
-; CHECK-NEXT:  mov.w   r2, r15
-; CHECK-NEXT:  and.w   #1, r15
+; CHECK:       cmp.w   r15, r14
+; CHECK:       mov.w   r2, r15
+; CHECK:       and.w   #1, r15
 
 define i16 @sccwsgt(i16 %a, i16 %b) nounwind {
        %t1 = icmp sgt i16 %a, %b