According to the X86ISelLowering.h, UMUL results are low, high, and flags. But one place was treating result 1 as flags, and another place was treating result 1 or 2 as flags.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
I'm actually not sure why any of the "flag" setting instructions are in computeKnownBitsForTargetNode. You can remove them all and no tests fail.
lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
26920 ↗ | (On Diff #110884) | Probably a lot cleaner just to set Known.Zero.setBitsFrom(1); here instead of using goto |
Comment Actions
Removed the known bits part. I think we should just remove these nodes from known bits. I've done that in D36657