Home | History | Annotate | Download | only in SystemZ
      1 ; RUN: llc < %s | grep cgfi | count 8
      2 ; RUN: llc < %s | grep clgfi | count 2
      3 
      4 target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
      5 target triple = "s390x-unknown-linux-gnu"
      6 
      7 define void @foo(i64 %a, i64 %b) nounwind {
      8 entry:
      9 	%cmp = icmp eq i64 %a, 0		; <i1> [#uses=1]
     10 	br i1 %cmp, label %if.then, label %if.end
     11 
     12 if.then:		; preds = %entry
     13 	tail call void @bar() nounwind
     14 	ret void
     15 
     16 if.end:		; preds = %entry
     17 	ret void
     18 }
     19 
     20 declare void @bar()
     21 
     22 define void @foo1(i64 %a, i64 %b) nounwind {
     23 entry:
     24 	%cmp = icmp ugt i64 %a, 1		; <i1> [#uses=1]
     25 	br i1 %cmp, label %if.then, label %if.end
     26 
     27 if.then:		; preds = %entry
     28 	tail call void @bar() nounwind
     29 	ret void
     30 
     31 if.end:		; preds = %entry
     32 	ret void
     33 }
     34 
     35 define void @foo2(i64 %a, i64 %b) nounwind {
     36 entry:
     37 	%cmp = icmp ugt i64 %a, 1		; <i1> [#uses=1]
     38 	br i1 %cmp, label %if.end, label %if.then
     39 
     40 if.then:		; preds = %entry
     41 	tail call void @bar() nounwind
     42 	ret void
     43 
     44 if.end:		; preds = %entry
     45 	ret void
     46 }
     47 
     48 define void @foo3(i64 %a) nounwind {
     49 entry:
     50 	%cmp = icmp eq i64 %a, 0		; <i1> [#uses=1]
     51 	br i1 %cmp, label %if.end, label %if.then
     52 
     53 if.then:		; preds = %entry
     54 	tail call void @bar() nounwind
     55 	ret void
     56 
     57 if.end:		; preds = %entry
     58 	ret void
     59 }
     60 
     61 define void @foo4(i64 %a) nounwind {
     62 entry:
     63 	%cmp = icmp eq i64 %a, 1		; <i1> [#uses=1]
     64 	br i1 %cmp, label %if.then, label %if.end
     65 
     66 if.then:		; preds = %entry
     67 	tail call void @bar() nounwind
     68 	ret void
     69 
     70 if.end:		; preds = %entry
     71 	ret void
     72 }
     73 
     74 define void @foo5(i64 %a) nounwind {
     75 entry:
     76 	%cmp = icmp eq i64 %a, 1		; <i1> [#uses=1]
     77 	br i1 %cmp, label %if.end, label %if.then
     78 
     79 if.then:		; preds = %entry
     80 	tail call void @bar() nounwind
     81 	ret void
     82 
     83 if.end:		; preds = %entry
     84 	ret void
     85 }
     86 
     87 define void @foo6(i64 %a) nounwind {
     88 entry:
     89 	%cmp = icmp slt i64 %a, 1		; <i1> [#uses=1]
     90 	br i1 %cmp, label %if.then, label %if.end
     91 
     92 if.then:		; preds = %entry
     93 	tail call void @bar() nounwind
     94 	ret void
     95 
     96 if.end:		; preds = %entry
     97 	ret void
     98 }
     99 
    100 define void @foo7(i64 %a) nounwind {
    101 entry:
    102 	%cmp = icmp sgt i64 %a, 1		; <i1> [#uses=1]
    103 	br i1 %cmp, label %if.then, label %if.end
    104 
    105 if.then:		; preds = %entry
    106 	tail call void @bar() nounwind
    107 	ret void
    108 
    109 if.end:		; preds = %entry
    110 	ret void
    111 }
    112 
    113 define void @foo8(i64 %a) nounwind {
    114 entry:
    115 	%cmp = icmp sgt i64 %a, 1		; <i1> [#uses=1]
    116 	br i1 %cmp, label %if.end, label %if.then
    117 
    118 if.then:		; preds = %entry
    119 	tail call void @bar() nounwind
    120 	ret void
    121 
    122 if.end:		; preds = %entry
    123 	ret void
    124 }
    125 
    126 define void @foo9(i64 %a) nounwind {
    127 entry:
    128 	%cmp = icmp slt i64 %a, 1		; <i1> [#uses=1]
    129 	br i1 %cmp, label %if.end, label %if.then
    130 
    131 if.then:		; preds = %entry
    132 	tail call void @bar() nounwind
    133 	ret void
    134 
    135 if.end:		; preds = %entry
    136 	ret void
    137 }
    138