* support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
[fw/sdcc] / ChangeLog
index af926fdefd22a1d4015f92ac4e2fa0ad8c1b426b..05a88417a53d963efdf7f4c500bde4289c1f55bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,509 @@
-2004-11-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+2004-01-31 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
+         include/mcs51 and include/z80 directories to the package
+
+2004-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genFunction): fixed bug #1112752
+
+2004-01-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
+
+2004-01-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
+
+2004-01-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
+
+2004-01-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/c8051fxxx.h: removed these 6 files
+       * device/include/mcs51/c8051fxxx.h: added these 11 new files
+
+2005-01-26 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genAssign): fixed assignment from longs
+         in codespace (were cut to three bytes)
+       * (genDummyRead): implemented (except for CODESPACE...),
+         fixed bug #1108575
+       * src/pic16/glue.c (emitStatistics): beautified
+       * device/lib/pic16/libm/Makefile: added include path
+
+2004-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/gen.c (aopPut): fixed bug #1103902
+
+2004-01-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * device/lib/expf.c: fixed bug #1095792
+
+2005-01-24 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libm: added Math library sources
+
+2005-01-24 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcode.h: added second memory operand to pCodeOpReg
+         to enable upcast to pCodeOpReg2 (there is no type tag to
+         differenciate the two and pic16_popGet2p cast into PCOR2)
+       * src/pic16/main.c (_process_pragma): fixed another malloc bug
+         (sizeof(sectNames) changed to sizeof(sectName))
+         Both patches fix segfaults under MinGW.
+
+2005-01-23 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
+         Safe_[mc]?alloc()'ed variables
+       * src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
+         of (byte sized) temporaries (assign them to WREG for now)
+       * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
+         (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
+         this might fix SIGSEGVs on MinGW...
+       * src/SDCCopt.c (killDeadCode): restored original behaviour
+         (volatile operands might get thrown away though)
+
+2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c: fixed bug #1106975,
+       * src/pic16/gen.c: fixed possible bug #1102572, now during TOS
+       pointer update, INTCON is saved, global interrupts are disabled and
+       restored after updateing TOS.
+       * src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
+       * added function attribute 'shadowregs' to take advantage of shadow
+       registers,
+       * added function attribute 'wparam' as an alternative to the wparam
+       pragma,
+       * support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
+       user declares a non-ISR function as 'shadowregs',
+       * doc/sdccman.lyx: updated to reflect recent changes of pic16 port
+
+2005-01-22 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * .version: bumped version number to 2.4.8
+       * device/lib/pic16/pics.all: list of PIC18F devices supported by
+       pic16 port,
+       * device/lib/pic16/libio/i2c/: I2C module support library,
+       * device/include/pic16/i2c.h: I2C support library header,
+       * device/lib/pic16/libc/stdio/: standard IO support sources,
+       * (printf_small.c): printf_small() source, supports float print,
+       * (printf_tiny.c): printf_tiny() source, does not support floats,
+       * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
+       enable global optimizations for entire library source, other
+       Makefiles in the source tree are also modified to reflect this,
+       * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
+       function,
+       * doc/sdccman.lyx: updated to reflect new changes,
+       * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
+       sym->onStack if-case,
+       * src/pic16/main.c (_pic16_keywords): commented out keywords bit,
+       sbit, idata, _idata, xdata, _xdata,
+       * added pragma library, to link an external library, (see doc),
+       * removed command line options, --pomit-config-words, --pomit-ivt,
+       --pleave-reset-vector,
+       * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
+       when calling assembler to reflect memory model used, also define
+       macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
+       reflect stack model used,
+       * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
+       on stack return NULL,
+
+2005-01-22 Daniel Winkler <post AT danielwinkler.de>
+
+       * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
+         of the operands is volatile. Fixes #1020220
+
+2005-01-22 Daniel Winkler <post AT danielwinkler.de>
+
+       * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization
+       * (OptimizeRegUsage): make sure that there is really no other flow where
+         the first pCode is used
+
+2005-01-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
+         to fix #1106967 (pCode->seq are not set up correctly)
+
+2004-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCglue.c (glue): make sure code area is declared before the
+       static initialization area.
+
+2005-01-21 Raphael Neider <rneider AT web.de>
+
+       * device/lib/Makefile.in: fixed test for pic16 install dir
+       * device/lib/pic16/*/Makefile*: modified compile flags to enable
+         optimizations
+       * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and
+         added --optimize-goto compiler switch and pragma wparam documentation
+       * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump
+       * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL
+         and PRODH closing bug #1071770 (peephole optimizer)
+
+2005-01-19 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee
+         cmdLine buffers (used when calling sdcpp...) are large enough
+         (MAX_PATH=256 truncates arguments leading to system halts when
+         used in MinGW...)
+       * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion
+       * (genUminus): rewritten to for efficiency
+       * (genNearPointer[GS]et): enforce reloading of FSR0 (was still
+         used uninitialized in some cases)
+       * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not
+         copy the third byte from the int -- now assumes 0x80 (data memory)
+       * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping
+         operands (genAddLit expects the iCode's operands to swapped as
+         well), fixed leftover bytes (crashed for short left operands)
+       * (pic16_genMinusDec): performance improvements, removed false
+         PIC14 emitSKPNCs
+       * (pic16_genMinus): fixed to cope with differently sized operands
+       * src/pic16/glue.c (pic16_glue): added new banksel optimization
+         for --obanksel > 1
+       * src/pic16/pcode.c: implemented (first phase of) banksel optimization
+       * src/pic16/graph.[ch]: implementation of directed graphs, used by
+         new banksel optimization
+       * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented
+         analysis for temporary registers (segfaults...)
+       * src/pic16/peeph.def: added rule
+
+2005-01-18 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function
+       which converts a float number to its ASCII representation
+       * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support
+       functions to convert the fractional and integer part of a float to ASCII,
+       * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c,
+       realloc.c): added _MALLOC_SPEC to explicit place variables in data
+       ram
+       * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
+       _STATMEM macros,
+       * device/include/pic16/adc.h: added GPL info,
+       * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using
+       a pCodeOp as tested operand,
+       * (genNearPointerGet): optimized bit testing, does not use
+       intermediate register for bit value, test directly instead with
+       BTFSS, BTFSC, works only for single bits,
+       * (genpic16Code): dump the name of the iCode in the asm,
+       * src/pic16/ralloc.c (decodeOp): removed static declaration and
+       renamed to pic16_decodeOp,
+       * (serialRegAssign): do not allocate a temporary register for iCode
+       sequences that test a single bit for 1/0
+
+2005-01-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*,
+       pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to
+       access stack and frame pointers. They are initially assigned to
+       point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other
+       accessing SFRs. Updated all occurences of modification of stack or
+       frame pointer in gen.c and pcode.c,
+       * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with
+       assigning of a literal value to pointers,
+       * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define
+       flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model
+       selected
+
+2005-01-11 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * doc/sdccman.lyx: update documentation about stack pragma, added
+       some info for stack memory models
+
+2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
+
+2005-01-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/device.c (pic16_dump_usection): changed naming scheme for
+         udata sections to fix bug #1097823
+
+2005-01-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genGenericShift): added handling of differently
+         sized left operand and result
+
+2005-01-04 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY
+       * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
+         to hold the condition bit)
+       * added new version of genCmp (old code available via #define)
+       * added new version of genShiftLeft/genShiftRight in a generic
+         way, now supports shifting by negative values
+       * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of
+         shiftCount (expected by genGenericShift)
+       * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal
+       * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics
+         dump
+       * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766
+         is an invalid literal too...)
+
+2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
+       from Raphael Neider,
+       * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
+       for 8-bit literals. This fixes some literal operands which are sign
+       extended to 16-bits ints when instruction needs only 8-bits.
+
+2004-12-31 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/logf.c: added mcs51 assembly version
+       * device/lib/expf.c: added mcs51 assembly version
+       * device/lib/_logexpf.c: new shared asm code for expf and logf
+       * device/include/math.h: add defines for assembly math library
+       * device/lib/Makefile.in: build new _logexpf.c
+       * device/lib/libfloat.lib: use new _logexpf.c
+
+2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c
+       * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
+         device types which have less than 0x7f registers.
+
+2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
+
+2004-12-28 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast.c: only build on supported arch.
+       * device/lib/printf_tiny.c: only build on supported arch.
+       * device/lib/printf_fast_f.c: only build if asm float lib
+       * device/lib/_fsget1arg.c: only build if asm float lib
+       * device/lib/_fsget2args.c: only build if asm float lib
+       * device/lib/_fsnormalize.c: only build if asm float lib
+       * device/lib/_fsreturnval.c: only build if asm float lib
+       * device/lib/_fsrshift.c: only build if asm float lib
+       * device/lib/_fsswapargs.c: only build if asm float lib
+       * device/include/stdio.h: don't provide print_fast,
+         print_fast_f, print_tiny prototypes if --xstack used
+
+2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
+       * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
+         to the SOURCES
+
+2004-12-28 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast_f.c: same as printf_fast, but
+         with floating point enabled
+       * device/lib/printf_fast.c: minor tweaks
+       * device/include/stdio.h: add printf_fast_f
+
+2004-12-27 Paul Stoffregen <paul AT pjrc.com>
+
+       * src/SDCCmain.c: make --float-reent default for mcs51
+       * device/lib/_fsadd.c: added mcs51 assembly version
+       * device/lib/_fssub.c: added mcs51 assembly version
+       * device/lib/_fsmul.c: added mcs51 assembly version
+       * device/lib/_fsdiv.c: added mcs51 assembly version
+       * device/lib/_fseq.c: added mcs51 assembly version
+       * device/lib/_fsneq.c: added mcs51 assembly version
+       * device/lib/_fsgt.c: added mcs51 assembly version
+       * device/lib/_fslt.c: added mcs51 assembly version
+       * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
+       * device/lib/Makefile.in: add _fscmp to build
+       * device/lib/libfloat.lib: add _fscmp to build
+
+2004-12-27 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/_fs2slong.c: added mcs51 assembly version
+       * device/lib/_fs2sint.c: added mcs51 assembly version
+       * device/lib/_fs2schar.c: added mcs51 assembly version
+       * device/lib/_fs2ulong.c: added mcs51 assembly version
+       * device/lib/_fs2uint.c: added mcs51 assembly version
+       * device/lib/_fs2uchar.c: added mcs51 assembly version
+       * device/lib/_slong2fs.c: added mcs51 assembly version
+       * device/lib/_sint2fs.c: added mcs51 assembly version
+       * device/lib/_schar2fs.c: added mcs51 assembly version
+       * device/lib/_ulong2fs.c: added mcs51 assembly version
+       * device/lib/_uint2fs.c: added mcs51 assembly version
+       * device/lib/_uchar2fs.c: added mcs51 assembly version
+       * device/include/float.h: added #define to select asm vs c
+
+2004-12-26 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast.c: improvements to float output
+       * device/include/float.h: add defines for assembly float library
+       * device/lib/_fsget1arg.c: receive 1 float arg
+       * device/lib/_fsget2args.c: receive 2 float args (reentrant)
+       * device/lib/_fsnormalize.c: normalize a float
+       * device/lib/_fsreturnval.c: return float, various helper routines
+       * device/lib/_fsrshift.c: right shift a float's mantissa
+       * device/lib/_fsswapargs.c: swap 2 floats
+       * device/lib/Makefile.in: build these 6 new files for mcs51
+       * device/lib/libfloat.lib: add these 6 files to the library
+
+2004-12-26 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
+         built by gcc 3.4.2
+
+2004-12-25 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
+         and fully reentrant and register bank neutral.
+       * device/lib/printf_fast.c: added float (not enabled by default),
+         added compact/slower integer (also not enabled by default),
+         improved size/speed of fast integer code, other minor changes
+       * device/include/stdio.h, device/lib/Makefile.in,
+         device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
+
+2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic16/pcode.c: declaring variables other than at the start of a
+         block is not supported in C by VC6.
+
+2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied a previous patch from Raphael Neider that wasn't included
+       in the previous commits, which fixes infinite loops within jumptable
+       improvements,
+       * made some fixes that previous patches introduced
+
+2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
+       that fixes an issue with AOP_PCODE asmop's offset,
+       * (pic16_popCopyReg): update instance field too,
+       * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
+       function of pic port,
+       * (genCmp, genAnd, genAssign),
+       * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
+
+2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
+       variables initial values to idata section,
+       * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
+       variables in some functions. This utilizes parmBytes field of iCode
+       structure to hold the offset of the variable in stack. (might be
+       able to use the stack field too?)
+       * applied patch from Raphael Neider # ### , # ###
+       * src/pic16/glue.c (pic16emitRegularMap): fix to print static
+       variable initial values in idata section,
+       * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
+       for static variables with initial value
+       * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
+       applied fix in while loop from Raphael Neider.
+
+2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
+       * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
+       * src/ds390/ralloc.c (serialRegAssign): spill bits
+       * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
+       * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
+       * support/regression/tests/bitwise.c: added test for bitwise complement(~)
+
+2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/sdcc-lib.h: inserted LGPL, added includes
+         asm/ds390/features.h and asm/mcs51/features.h
+       * device/include/asm/default/features.h,
+       * device/include/asm/gbz80/features.h,
+       * device/include/asm/z80/features.h: added empty _AUTOMEM
+         and _STATMEM
+       * device/include/asm/ds390/features.h,
+       * device/include/asm/mcs51/features.h: added files with defines for
+         _AUTOMEM and _STATMEM indicating automatic and static storage class
+       * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
+       * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
+       * src/SDCCicode.c (geniCodeCast),
+       * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
+       * src/SDCCloop.c (loopInduction): removed unused variable lr
+       * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
+         to convertToFcall to include char modulo (RFE 1065037), added check
+         if left operand is unsigned and use abs of literal value
+       * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
+         as it doesn't work after conversion from peephole.def to peephole.rul
+       * src/mcs51/gen.c (toBoolean): added check for size,
+         (genModOneByte): optimized code for signed char modulo a literal
+         power of 2 (thanks to Hubert Sack),
+         (genRRC): removed unnecessary "clr c",
+         (genRLC): replaced "add a,acc" with cheaper "rlc a"
+       * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
+         jump optimization,
+         swapped rules 256.c and 256.d,
+         extended 256.d by using new multiple checks (thanks Erik),
+         added rules 256.e and 256.f,
+         updated rule 261.a and 261.b to new generated code
+       * support/regression/tests/muldiv.c: added test div/mod by a power of 2
+
+2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCloop.c (basicInduction, loopInduction): fixed several
+         induction related bugs, including first part of bug #1074377
+
+2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied patch from bug-report #1076292,
+       * applied patches for genAnd and Goto-optimizations for Raphael
+       Neider,
+       * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
+       dump a less iCode information,
+       * src/pic16/device.h (pic16_options_t): added field debgen,
+       * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
+       DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
+       * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
+       puclic,
+       * (various functions): added macros FENTRY and FENTRY2 to functions,
+       to emit function prologue,
+       * (various functions): fixed indentation,
+       * (genNearPointerGet): fixed loading of FSR0,
+       * (genPackBits): applied patch from Raphael Neider to fix updating
+       of FSR0 and touching only the modified bits,
+       * src/pic16/genarith.c (various functions): added macros FENTRY to
+       emit function prologue in comments,
+       * src/pic16/pcode.h: added functions debugf2, debugf3,
+       * src/pic16/ralloc.c: partial fix for packForPush caused
+       segmentation fault,
+
+2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
+         <stsp AT users.sourceforge.net> with reversed byte order
+       * support/regression/tests/rotate.c: added (ds390 skips some tests)
+
+2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
+         bug #1074377
+       * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
+       * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
+
+2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
+         conditions,
+         (setFromConditionArgs): friendly operand parser for peephole rules,
+         (operandBaseName, operandsNotRelated): new peephole condition
+         "operandsNotRelated" -- similar to "operandsNotSame", but takes
+         architecture specific register naming into account, handles n-way
+         comparisons, and supports quoted literals
+       * src/mcs51/peeph.def: restored rule 177.d with an extra condition
+
+2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: fixed bug #1076940
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
+
+2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        Adding support for replacing ljmps with sjmps in jumptables
        generated for switch statements. For now you need to set the
 
        Adding support for replacing ljmps with sjmps in jumptables
        generated for switch statements. For now you need to set the