From: SourceForge.net <no...@so...> - 2009-05-09 16:51:25
|
Bugs item #1924707, was opened at 2008-03-24 23:24 Message generated for change (Settings changed) made by spth You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1924707&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: z80 port >Group: fixed >Status: Closed Resolution: Fixed Priority: 5 Private: No Submitted By: Philipp Krause (spth) Assigned to: Philipp Krause (spth) Summary: Peepholes 49-56 broken Initial Comment: Here's peephole 49: replace restart { or a,%1 jp NZ,%2 ld a,%3 or a,a } by { or a,%1 jp NZ,%2 or a,%3 } This breaks when %3 is (bc) or (de). The bug is in 2.8.0rc2, but this peephole has been in sdcc for a long time. I added it in october 2006; I didn't observe the bug until today, even though the peephole rule is applied frequently. It seems sdcc very rarely generates code where %3 is (bc). I have never seen %3 to be (de). Philipp ---------------------------------------------------------------------- Comment By: Philipp Krause (spth) Date: 2009-05-09 18:49 Message: Fixed in revision #5455. Support for '(bc)' and '(de)' had been added to OperandsNotRelated some time ago. ---------------------------------------------------------------------- Comment By: Philipp Krause (spth) Date: 2008-05-19 19:56 Message: Logged In: YES user_id=564030 Originator: YES Peepholes 42 and 43 have the same problem. Unfortunately, '(bc)' and '(de)' can't be used as operands to OperandsNotRelated or OperandsNotSame. ---------------------------------------------------------------------- Comment By: Borut Ražem (borutr) Date: 2008-03-25 07:27 Message: Logged In: YES user_id=568035 Originator: NO Let do it after the 2.8.0 release. Borut ---------------------------------------------------------------------- Comment By: Philipp Krause (spth) Date: 2008-03-24 23:54 Message: Logged In: YES user_id=564030 Originator: YES Yes, but I intended to do it after 2.8.0. Do you think the fix should be applied before 2.8.0? ---------------------------------------------------------------------- Comment By: Maarten Brock (maartenbrock) Date: 2008-03-24 23:36 Message: Logged In: YES user_id=888171 Originator: NO I think this can be fixed by using the following condition: if operandsNotRelated(%3 (bc) (de)) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1924707&group_id=599 |