From: SourceForge.net <no...@so...> - 2004-12-21 16:37:05
|
Patches item #1089163, was opened at 2004-12-21 16:37 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: ccsporters (tecodev) Assigned to: Nobody/Anonymous (nobody) Summary: [RFC,PIC16] simplified genCmp Initial Comment: I developed a new, simpler and easier understandable version of genCmp(). I did this because I tried to fix an issue with genCmp with while (a < HIDDEN) in /device/lib/_ulong2fs.c but could not pinpoint the error... Furthermore the current version fails to assign the result of the comparison to the desired result register (producing wrong code for e.g. device/lib/_divslong.c). My version aims at readability trying to avoid too many special cases. I admit that it is in some cases less efficient than the current version but maybe we could use the new plan as a starting point for a better version? Proposal/patch attached. Regards, Raphael Neider ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 |
From: SourceForge.net <no...@so...> - 2004-12-22 07:25:46
|
Patches item #1089163, was opened at 2004-12-21 18:37 Message generated for change (Comment added) made by vrokas You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: ccsporters (tecodev) >Assigned to: Vangelis Rokas (vrokas) Summary: [RFC,PIC16] simplified genCmp Initial Comment: I developed a new, simpler and easier understandable version of genCmp(). I did this because I tried to fix an issue with genCmp with while (a < HIDDEN) in /device/lib/_ulong2fs.c but could not pinpoint the error... Furthermore the current version fails to assign the result of the comparison to the desired result register (producing wrong code for e.g. device/lib/_divslong.c). My version aims at readability trying to avoid too many special cases. I admit that it is in some cases less efficient than the current version but maybe we could use the new plan as a starting point for a better version? Proposal/patch attached. Regards, Raphael Neider ---------------------------------------------------------------------- >Comment By: Vangelis Rokas (vrokas) Date: 2004-12-22 09:25 Message: Logged In: YES user_id=770505 Does the new version cover all the necessery cases? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 |
From: SourceForge.net <no...@so...> - 2004-12-22 11:47:47
|
Patches item #1089163, was opened at 2004-12-21 16:37 Message generated for change (Comment added) made by tecodev You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: ccsporters (tecodev) Assigned to: Vangelis Rokas (vrokas) Summary: [RFC,PIC16] simplified genCmp Initial Comment: I developed a new, simpler and easier understandable version of genCmp(). I did this because I tried to fix an issue with genCmp with while (a < HIDDEN) in /device/lib/_ulong2fs.c but could not pinpoint the error... Furthermore the current version fails to assign the result of the comparison to the desired result register (producing wrong code for e.g. device/lib/_divslong.c). My version aims at readability trying to avoid too many special cases. I admit that it is in some cases less efficient than the current version but maybe we could use the new plan as a starting point for a better version? Proposal/patch attached. Regards, Raphael Neider ---------------------------------------------------------------------- >Comment By: ccsporters (tecodev) Date: 2004-12-22 11:47 Message: Logged In: YES user_id=1115835 The new version has been tested with my current sources (rather large project, 50% program memory used) and all seems to work -- and it compiles (without assertions). My version should fail with assertions in all unsupported cases, namely: - bits as operands - if left and right aer of different sizes - if neither operand is a register (or the like: AOP_DIR or AOP_PCODE) - if the other operand is not register-like or a literal All other cases (sizes 1 to 4, signed and unsigned comparisons between registers or register vs. literal, store to result or not) are supported. Raphael ---------------------------------------------------------------------- Comment By: Vangelis Rokas (vrokas) Date: 2004-12-22 07:25 Message: Logged In: YES user_id=770505 Does the new version cover all the necessery cases? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 |
From: SourceForge.net <no...@so...> - 2005-01-04 13:08:10
|
Patches item #1089163, was opened at 2004-12-21 16:37 Message generated for change (Comment added) made by tecodev You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Raphael Neider (tecodev) Assigned to: Vangelis Rokas (vrokas) Summary: [RFC,PIC16] simplified genCmp Initial Comment: I developed a new, simpler and easier understandable version of genCmp(). I did this because I tried to fix an issue with genCmp with while (a < HIDDEN) in /device/lib/_ulong2fs.c but could not pinpoint the error... Furthermore the current version fails to assign the result of the comparison to the desired result register (producing wrong code for e.g. device/lib/_divslong.c). My version aims at readability trying to avoid too many special cases. I admit that it is in some cases less efficient than the current version but maybe we could use the new plan as a starting point for a better version? Proposal/patch attached. Regards, Raphael Neider ---------------------------------------------------------------------- >Comment By: Raphael Neider (tecodev) Date: 2005-01-04 13:08 Message: Logged In: YES user_id=1115835 Added a (fixed) version of the simplified genCmp to the sources (#920). All regression tests (especially the one about boundary checks, compare9.c ;-)) pass using it. Raphael ---------------------------------------------------------------------- Comment By: Raphael Neider (tecodev) Date: 2004-12-22 11:47 Message: Logged In: YES user_id=1115835 The new version has been tested with my current sources (rather large project, 50% program memory used) and all seems to work -- and it compiles (without assertions). My version should fail with assertions in all unsupported cases, namely: - bits as operands - if left and right aer of different sizes - if neither operand is a register (or the like: AOP_DIR or AOP_PCODE) - if the other operand is not register-like or a literal All other cases (sizes 1 to 4, signed and unsigned comparisons between registers or register vs. literal, store to result or not) are supported. Raphael ---------------------------------------------------------------------- Comment By: Vangelis Rokas (vrokas) Date: 2004-12-22 07:25 Message: Logged In: YES user_id=770505 Does the new version cover all the necessery cases? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300599&aid=1089163&group_id=599 |