VE has only 64 bits AND/OR/XOR instructions. We pretended that VE has 32 bits
instructions also, but doing it increase the number of generated instructions.
Therefore, we decide to promote 32 bits operations and use only 64 bits
instructions in back end. We also avoid pretending that VE has 32 bits LEA
instruction. Update regression tests also.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/VE/xor.ll | ||
---|---|---|
115–118 | Are you planning to address this regression? (non-blocker given the significant improvements everywhere else) |
Comment Actions
Thank you for reviewing.
llvm/test/CodeGen/VE/xor.ll | ||
---|---|---|
115–118 | No since I think these additional instructions are required to handle 32 bits correctly. VE instructions sign-extend all immediate values in instructions. So, (33)1 is 0xFFFFFFFF80000000. However, llvm expects 0x0000000080000000 here, I think. |
Are you planning to address this regression? (non-blocker given the significant improvements everywhere else)