Created attachment 372258 [details] [diff] [review] patch This also fixes a bug in the code generator. We used to emit LEA for constant offset additions, which doesn't update flags, which we do rely on for LIR_ov/LIR_cs. Only use LEA for addp, the address calculation form of addition.
Attachment #372258 - Flags: review?
Attachment #372258 - Flags: review? → review?(dvander)
Seriously, we deleted danderson's account--again?
Comment on attachment 372258 [details] [diff] [review] patch Nice catch.
Attachment #372258 - Flags: review?(dvander) → review+
Please read before granting blocking: This patch contains a 1-line bug fix. That part should block IMO. As for the rest, it gets us closer aligned with tamarin-redux, which removed the 386 backend. I would like to apply the entire patch as is. It should not affect 386 builds. The current 64-bit x86 backend is broken, so it will not really affect x86-64 builds either. If you want me to split out the bugfix from the code removal patch, I can easily do that.
Ed, do you concur with the LEA change? (and making those if cascades switches)
yes, sounds right to only use LEA for addp, since we don't track condition code liveness. when we have time to breathe a bit, we should track cc's better in the backend; lea would be fine for an add if the cc's are not expected.
Yeah, PPC would benefit from more explicit cc tracking. Sparc probably too, to a lesser degree.
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.