An fp_to_sint node would be incorrectly lowered to a TruncIntFP node in single-float mode. This would trigger an "Unexpected illegal type!" assert.
Many thanks to Tim Northover for helping me through this.
An fp_to_sint node would be incorrectly lowered to a TruncIntFP node in single-float mode. This would trigger an "Unexpected illegal type!" assert.
Many thanks to Tim Northover for helping me through this.
test/CodeGen/Mips/f32-to-i64-single-float.ll | ||
---|---|---|
1 ↗ | (On Diff #164493) | It looks like you miss any CHECK statements. I understand that without the fix this test case triggers assert, but it's better to express expected assembler code and check them. |
test/CodeGen/Mips/f32-to-i64-single-float.ll | ||
---|---|---|
1 ↗ | (On Diff #164493) | The expected assembly code is...complicated, and while I've been dipping my toes into MIPS because of the PS2, even on -O0, LLVM inlines the conversion rather than producing something convenient to check like a library call. I'm not sure what exactly to check for, because my MIPS assembly knowledge isn't perfect. |
test/CodeGen/Mips/f32-to-i64-single-float.ll | ||
---|---|---|
1 ↗ | (On Diff #164493) | You can use update_llc_checks.py to generate the expected / current assembly result rather than hand-crafting CHECK lines. You'll need to change the -march=mips64el to -mtriple=mips64el-mti-linux-gnu . |
3 ↗ | (On Diff #164493) | Also, remove the '#0' here and a add a comment describing the test case (a line or two is fine). |
I've ran update_llc_checks.py on my testcase, and added a brief description of the test as requested.