1*9880d681SAndroid Build Coastguard Worker; Test LOCHI/LOCGHI 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: bar1: 6*9880d681SAndroid Build Coastguard Worker; CHECK: lhi [[REG:%r[0-5]]], 42 7*9880d681SAndroid Build Coastguard Worker; CHECK: chi %r2, 0 8*9880d681SAndroid Build Coastguard Worker; CHECK: lochie [[REG]], 0 9*9880d681SAndroid Build Coastguard Workerdefine signext i32 @bar1(i32 signext %x) { 10*9880d681SAndroid Build Coastguard Worker %cmp = icmp ne i32 %x, 0 11*9880d681SAndroid Build Coastguard Worker %.x = select i1 %cmp, i32 42, i32 0 12*9880d681SAndroid Build Coastguard Worker ret i32 %.x 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: bar2: 16*9880d681SAndroid Build Coastguard Worker; CHECK: ltgr [[REG:%r[0-5]]], %r2 17*9880d681SAndroid Build Coastguard Worker; CHECK: lghi %r2, 42 18*9880d681SAndroid Build Coastguard Worker; CHECK: locghie %r2, 0 19*9880d681SAndroid Build Coastguard Workerdefine signext i64 @bar2(i64 signext %x) { 20*9880d681SAndroid Build Coastguard Worker %cmp = icmp ne i64 %x, 0 21*9880d681SAndroid Build Coastguard Worker %.x = select i1 %cmp, i64 42, i64 0 22*9880d681SAndroid Build Coastguard Worker ret i64 %.x 23*9880d681SAndroid Build Coastguard Worker} 24