This fixes https://bugs.llvm.org//show_bug.cgi?id=32485
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
A somewhat minified example IR which reproduces the assertion is attached to the linked bug report -- here I would also appreciate some guidance on in what form / where this can be integrated in the regression tests.
Just running llc on the resulting IR in the usual way should be fine.
lib/Target/PowerPC/PPCCTRLoops.cpp | ||
---|---|---|
250 ↗ | (On Diff #94445) | It looks like we can have a more-targeted fix than this. The problem seems to be restricted to multiply. See below. |
317 ↗ | (On Diff #94445) | Here add: case Intrinsic::umul_with_overflow: Opcode = ISD::UMULO; break; and I think that should take care of it. |
@hfinkel: Thanks for the feedback!
I have made the changes recommended and uploaded a new revision. (I though this would trigger another mail but apparently it didn't, so I'm commenting again).