diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/pr23273.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/pr23273.ll b/llvm/test/CodeGen/X86/pr23273.ll new file mode 100644 index 00000000000..2702eb820f2 --- /dev/null +++ b/llvm/test/CodeGen/X86/pr23273.ll @@ -0,0 +1,17 @@ +; RUN: llc -mtriple=i386-unknown-unknown -mcpu=generic -march=x86 -mattr=-sse2 -fast-isel < %s + +; Verify that the backend doesn't crash during fast-isel with an assertion +; failure when selecting a int-to-double conversion. The fast selection routine +; for SINT_TO_FP wrongly assumed that the target had at least SSE2. + +@a = common global i32 0, align 4 + +define i32 @pr23273() { +entry: + %0 = load i32, i32* @a, align 4 + %conv = sitofp i32 %0 to double + %call = call i32 @fn1(double %conv) + ret i32 0 +} + +declare i32 @fn1(double) #1 |

