Home | History | Annotate | Download | only in InstCombine
      1 ; RUN: opt < %s -instcombine -disable-output
      2 ; END.
      3 
      4 define void @test() {
      5 bb38.i:
      6 	%varspec.0.i1014 = bitcast i64 123814269237067777 to i64		; <i64> [#uses=1]
      7 	%locspec.0.i1015 = bitcast i32 1 to i32		; <i32> [#uses=2]
      8 	%tmp51391.i1018 = lshr i64 %varspec.0.i1014, 16		; <i64> [#uses=1]
      9 	%tmp51392.i1019 = trunc i64 %tmp51391.i1018 to i32		; <i32> [#uses=2]
     10 	%tmp51392.mask.i1020 = lshr i32 %tmp51392.i1019, 29		; <i32> [#uses=1]
     11 	%tmp7.i1021 = and i32 %tmp51392.mask.i1020, 1		; <i32> [#uses=2]
     12 	%tmp18.i1026 = lshr i32 %tmp51392.i1019, 31		; <i32> [#uses=2]
     13 	%tmp18.i1027 = trunc i32 %tmp18.i1026 to i8		; <i8> [#uses=1]
     14 	br i1 false, label %cond_false1148.i1653, label %bb377.i1259
     15 
     16 bb377.i1259:		; preds = %bb38.i
     17 	br i1 false, label %cond_true541.i1317, label %cond_false1148.i1653
     18 
     19 cond_true541.i1317:		; preds = %bb377.i1259
     20 	%tmp545.i1318 = lshr i32 %locspec.0.i1015, 10		; <i32> [#uses=1]
     21 	%tmp550.i1319 = lshr i32 %locspec.0.i1015, 4		; <i32> [#uses=1]
     22 	%tmp550551.i1320 = and i32 %tmp550.i1319, 63		; <i32> [#uses=1]
     23 	%tmp553.i1321 = icmp ult i32 %tmp550551.i1320, 4		; <i1> [#uses=1]
     24 	%tmp558.i1322 = icmp eq i32 %tmp7.i1021, 0		; <i1> [#uses=1]
     25 	%bothcond.i1326 = or i1 %tmp553.i1321, false		; <i1> [#uses=1]
     26 	%bothcond1.i1327 = or i1 %bothcond.i1326, false		; <i1> [#uses=1]
     27 	%bothcond2.not.i1328 = or i1 %bothcond1.i1327, false		; <i1> [#uses=1]
     28 	%bothcond3.i1329 = or i1 %bothcond2.not.i1328, %tmp558.i1322		; <i1> [#uses=0]
     29 	br i1 false, label %cond_true583.i1333, label %cond_next592.i1337
     30 
     31 cond_true583.i1333:		; preds = %cond_true541.i1317
     32 	br i1 false, label %cond_true586.i1335, label %cond_next592.i1337
     33 
     34 cond_true586.i1335:		; preds = %cond_true583.i1333
     35 	br label %cond_true.i
     36 
     37 cond_next592.i1337:		; preds = %cond_true583.i1333, %cond_true541.i1317
     38 	%mask_z.0.i1339 = phi i32 [ %tmp18.i1026, %cond_true541.i1317 ], [ 0, %cond_true583.i1333 ]		; <i32> [#uses=0]
     39 	%tmp594.i1340 = and i32 %tmp545.i1318, 15		; <i32> [#uses=0]
     40 	br label %cond_true.i
     41 
     42 cond_false1148.i1653:		; preds = %bb377.i1259, %bb38.i
     43 	%tmp1150.i1654 = icmp eq i32 %tmp7.i1021, 0		; <i1> [#uses=1]
     44 	%tmp1160.i1656 = icmp eq i8 %tmp18.i1027, 0		; <i1> [#uses=1]
     45 	%bothcond8.i1658 = or i1 %tmp1150.i1654, %tmp1160.i1656		; <i1> [#uses=1]
     46 	%bothcond9.i1659 = or i1 %bothcond8.i1658, false		; <i1> [#uses=0]
     47 	br label %cond_true.i
     48 
     49 cond_true.i:		; preds = %cond_false1148.i1653, %cond_next592.i1337, %cond_true586.i1335
     50 	ret void
     51 }
     52