From 838838d035c333e16bc3881c5024323513ec527f Mon Sep 17 00:00:00 2001 From: frief Date: Sun, 10 Jun 2007 21:17:14 +0000 Subject: [PATCH] * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654 * support/regression/tests/bug1734654.c: added git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4847 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ src/mcs51/peeph.def | 23 ++++++++++++----------- support/regression/tests/bug1734654.c | 19 +++++++++++++++++++ 3 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 support/regression/tests/bug1734654.c diff --git a/ChangeLog b/ChangeLog index dc4dc234..6d5c3a44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-10 Frieder Ferlemann + + * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654 + * support/regression/tests/bug1734654.c: added + 2007-06-10 Maarten Brock * src/SDCCast.c (decorateType): optimized '?' for equal operands diff --git a/src/mcs51/peeph.def b/src/mcs51/peeph.def index 361f6a22..d37d3b71 100644 --- a/src/mcs51/peeph.def +++ b/src/mcs51/peeph.def @@ -740,17 +740,18 @@ replace { jc %5 } if operandsLiteral(%1) -replace { - clr c - mov a,%1 - subb a,#%2 - mov %3,c -} by { - ; Peephole 132.d optimized genCmpGt by inverse logic - mov a,#0x100 - %2 - add a,%1 - mov %3,c -} if operandsNotRelated('0x00' %2), operandsLiteral(%2) +// disabled. See bug1734654.c +//replace { +// clr c +// mov a,%1 +// subb a,#%2 +// mov %3,c +//} by { +// ; Peephole 132.d optimized genCmpGt by inverse logic +// mov a,#0x100 - %2 +// add a,%1 +// mov %3,c +//} if operandsNotRelated('0x00' %2), operandsLiteral(%2) replace { clr c diff --git a/support/regression/tests/bug1734654.c b/support/regression/tests/bug1734654.c new file mode 100644 index 00000000..4983bad0 --- /dev/null +++ b/support/regression/tests/bug1734654.c @@ -0,0 +1,19 @@ +/* bug1734654.c + */ +#include +#include + +volatile bool b; +volatile unsigned char c = 1; + +static void foo (void) +{ + b = (c<2); +} + +void +testMyFunc(void) +{ + foo (); + ASSERT (b); +} -- 2.30.2