* device/lib/_modsint.c,
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 11 Feb 2004 21:30:33 +0000 (21:30 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 11 Feb 2004 21:30:33 +0000 (21:30 +0000)
commit2b768f4d1d91642a8e7ffdddafd545d286ae1fbc
treeb6d3d0ed28fc5c43e943ddc982bef56f6d313604
parent986baccff019b926baac90622bd81772f9b47001
* device/lib/_modsint.c,
* device/lib/_modslong.c: sign follows divisor only
* src/hc08/gen.c (genMultOneByte): if result size is 1, signs or signedness can be ignored
* src/SDCCast.c (addCast): cosmetic - added lineno to CAST
* src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *, added optimization for IFX,
(decorateType): Mult/Div/ModOneByte ops can handle all kind of signed arguments;
reenabled optimization for IFX, which was removed on 2004-01-11
* src/SDCCast.h: added return type IFX
* src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed arguments with 8 or 16 bit results; pic14 and pic16 ports use old promotion behaviour;
env. var. SDCC_NEWONEBYTEOPS selects the new, SDCC_OLDONEBYTEOPS selects the old behaviour
* src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
changed again and commented promotion rule (it's still not perfect)
* src/SDCCval.c (valDiv): promotion no longer necessary
* src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
* src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte): rewritten
* support/regression/tests/onebyte.c: added

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3192 4a8a32a2-be11-0410-ad9d-d568d2c75423
12 files changed:
ChangeLog
device/lib/_modsint.c
device/lib/_modslong.c
src/SDCCast.c
src/SDCCast.h
src/SDCCicode.c
src/SDCCsymt.c
src/SDCCval.c
src/ds390/gen.c
src/hc08/gen.c
src/mcs51/gen.c
support/regression/tests/onebyte.c [new file with mode: 0644]