xref: /aosp_15_r20/external/llvm/test/CodeGen/SystemZ/int-cmp-52.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; This used to crash the backend due to a failed assertion.
2*9880d681SAndroid Build Coastguard Worker; No particular output expected, but must compile.
3*9880d681SAndroid Build Coastguard Worker;
4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine void @test(i16 *%input, i32 *%result) {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  %0 = load i16, i16* %input, align 2
9*9880d681SAndroid Build Coastguard Worker  %1 = zext i16 %0 to i32
10*9880d681SAndroid Build Coastguard Worker  %2 = icmp slt i32 %1, 0
11*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %if.then, label %if.else
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerif.then:
14*9880d681SAndroid Build Coastguard Worker  store i32 1, i32* %result, align 4
15*9880d681SAndroid Build Coastguard Worker  br label %return
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerif.else:
18*9880d681SAndroid Build Coastguard Worker  store i32 0, i32* %result, align 4
19*9880d681SAndroid Build Coastguard Worker  br label %return
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerreturn:
22*9880d681SAndroid Build Coastguard Worker  ret void
23*9880d681SAndroid Build Coastguard Worker}
24*9880d681SAndroid Build Coastguard Worker
25