Home | History | Annotate | Download | only in PowerPC
      1 ; RUN: llc < %s -march=ppc32 | not grep cmp
      2 
      3 define i32 @seli32_1(i32 %a) {
      4 entry:
      5 	%tmp.1 = icmp slt i32 %a, 0		; <i1> [#uses=1]
      6 	%retval = select i1 %tmp.1, i32 5, i32 0		; <i32> [#uses=1]
      7 	ret i32 %retval
      8 }
      9 
     10 define i32 @seli32_2(i32 %a, i32 %b) {
     11 entry:
     12 	%tmp.1 = icmp slt i32 %a, 0		; <i1> [#uses=1]
     13 	%retval = select i1 %tmp.1, i32 %b, i32 0		; <i32> [#uses=1]
     14 	ret i32 %retval
     15 }
     16 
     17 define i32 @seli32_3(i32 %a, i16 %b) {
     18 entry:
     19 	%tmp.2 = sext i16 %b to i32		; <i32> [#uses=1]
     20 	%tmp.1 = icmp slt i32 %a, 0		; <i1> [#uses=1]
     21 	%retval = select i1 %tmp.1, i32 %tmp.2, i32 0		; <i32> [#uses=1]
     22 	ret i32 %retval
     23 }
     24 
     25 define i32 @seli32_4(i32 %a, i16 %b) {
     26 entry:
     27 	%tmp.2 = zext i16 %b to i32		; <i32> [#uses=1]
     28 	%tmp.1 = icmp slt i32 %a, 0		; <i1> [#uses=1]
     29 	%retval = select i1 %tmp.1, i32 %tmp.2, i32 0		; <i32> [#uses=1]
     30 	ret i32 %retval
     31 }
     32 
     33 define i16 @seli16_1(i16 %a) {
     34 entry:
     35 	%tmp.1 = icmp slt i16 %a, 0		; <i1> [#uses=1]
     36 	%retval = select i1 %tmp.1, i16 7, i16 0		; <i16> [#uses=1]
     37 	ret i16 %retval
     38 }
     39 
     40 define i16 @seli16_2(i32 %a, i16 %b) {
     41 	%tmp.1 = icmp slt i32 %a, 0		; <i1> [#uses=1]
     42 	%retval = select i1 %tmp.1, i16 %b, i16 0		; <i16> [#uses=1]
     43 	ret i16 %retval
     44 }
     45 
     46 define i32 @seli32_a_a(i32 %a) {
     47 	%tmp = icmp slt i32 %a, 1		; <i1> [#uses=1]
     48 	%min = select i1 %tmp, i32 %a, i32 0		; <i32> [#uses=1]
     49 	ret i32 %min
     50 }
     51