We were generating different code to SelectionDAG, trying to extend to s8 first as per ABI instead of honoring the IR signext attribute first.
More discussion at https://github.com/llvm/llvm-project/issues/57181
Differential D133327
[AArch64][GlobalISel] When lowering signext i1 parameters, don't zero-extend to s8 first. aemerson on Sep 5 2022, 2:05 PM. Authored by
Details We were generating different code to SelectionDAG, trying to extend to s8 first as per ABI instead of honoring the IR signext attribute first. More discussion at https://github.com/llvm/llvm-project/issues/57181
Diff Detail
Event TimelineComment Actions You said We were generating different code to SelectionDAG, Is there a test file that shows the generated code of SelectionDAG and GlobalIsel? Comment Actions I added run lines to bool-ext-inc.ll and the tests that were used to generate the MIR tests too. Comment Actions I'd forgotten this hasn't landed yet. Given the comments were just about tests, I'll commit this now. Feel free to respond with any further issues and I'll address them post-commit. |