These instructions have an implicit use of vcc which counts towards the
constant bus limit. Pre gfx10 this means that the explicit operands
cannot be sgprs. Use the custom inserter hook to call legalizeOperands
to enforce that restriction.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The patch attached to https://bugs.llvm.org/show_bug.cgi?id=51217 tests this. I'm not sure how else to test it, because normally 64-bit add/sub gets selected to a pseudo, which is expanded to add_co/addc by some code in EmitInstrWithCustomInserter which already calls legalizeOperands on the addc.
Comment Actions
If you have a wider carry out intrinsic (e.g. i128) it should need legalization involving carry in