1 ; Check that modelling of CC/CCRegs does not stop MachineCSE from 2 ; removing a compare. MachineCSE will not extend a live range of an 3 ; allocatable or reserved phys reg. 4 ; 5 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s 6 7 declare void @bar(i8) 8 9 ; Check the low end of the CH range. 10 define void @f1(i32 %lhs) { 11 ; CHECK-LABEL: BB#1: 12 ; CHECK-NOT: cijlh %r0, 1, .LBB0_3 13 14 entry: 15 %and188 = and i32 %lhs, 255 16 %cmp189 = icmp ult i32 %and188, 2 17 br i1 %cmp189, label %if.then.191, label %if.else.201 18 19 if.then.191: 20 %cmp194 = icmp eq i32 %and188, 1 21 br i1 %cmp194, label %if.then.196, label %if.else.198 22 23 if.then.196: 24 call void @bar(i8 1); 25 br label %if.else.201 26 27 if.else.198: 28 call void @bar(i8 0); 29 br label %if.else.201 30 31 if.else.201: 32 ret void 33 } 34 35