xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/pr23273.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=i386-unknown-unknown -mcpu=generic -march=x86 -mattr=-sse2 -fast-isel < %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Verify that the backend doesn't crash during fast-isel with an assertion
4*9880d681SAndroid Build Coastguard Worker; failure when selecting a int-to-double conversion. The fast selection routine
5*9880d681SAndroid Build Coastguard Worker; for SINT_TO_FP wrongly assumed that the target had at least SSE2.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker@a = common global i32 0, align 4
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine i32 @pr23273() {
10*9880d681SAndroid Build Coastguard Workerentry:
11*9880d681SAndroid Build Coastguard Worker  %0 = load i32, i32* @a, align 4
12*9880d681SAndroid Build Coastguard Worker  %conv = sitofp i32 %0 to double
13*9880d681SAndroid Build Coastguard Worker  %call = call i32 @fn1(double %conv)
14*9880d681SAndroid Build Coastguard Worker  ret i32 0
15*9880d681SAndroid Build Coastguard Worker}
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workerdeclare i32 @fn1(double) #1
18