Commit graph

28 commits

Author SHA1 Message Date
ceriel d6593abd5e bug fix: sometimes register variables were treated as scratch regs! 1987-07-06 10:24:51 +00:00
ceriel 61a5c8ce08 divided time costs by 10, because of overflow 1987-05-21 13:59:55 +00:00
ceriel 1b47f26e4b Some more adaptions to new assembler 1987-05-20 17:15:59 +00:00
ceriel 643dee0ab6 Added a pattern for better *p++ operation 1987-05-19 08:50:17 +00:00
ceriel 6731de5286 some bug fixes with 'bisb' 1987-05-18 18:34:59 +00:00
ceriel 9e72c25a0f deleted FORMAT, fixed con_float 1987-05-15 16:32:14 +00:00
ceriel 2b9292bc38 Some fixes 1987-04-23 14:49:49 +00:00
ceriel af7b083fd8 "word" is now always a "long" 1987-04-02 09:54:41 +00:00
ceriel e5116f86dc Fixed a problem with SRU: no regs available 1987-03-25 16:26:58 +00:00
ceriel fe3fe78538 Added some neccessary NC's 1987-02-04 15:11:51 +00:00
keie 408dacc2aa The stacking pattern for ldc C and 4 with highw(c)==0 was incorrect.
The effect was that rand() from libcc/gen always returned
a 0.
1985-02-19 13:41:30 +00:00
keie b82c00e153 Added a line for
loc loc cuu $1==$1, because write.e contained the line
loc 2
loc 2
ciu
and the cg failed to translate.
1985-02-17 22:03:44 +00:00
sater ce098c78cb added patterns to prevent stacking in *p++ cases 1984-08-15 16:05:54 +00:00
sater e682a47599 added patterns for inc/dec/adp of local and external offsetted
This makes the getc() macro from C very efficient, among others
1984-08-15 14:31:54 +00:00
sater e41876f32a reworked patterns for autoincrement stores, now that peephole optimizer
rearranged it.
1984-08-07 10:22:49 +00:00
sater 6f8e6faa1f added setcc calls to some incrementing ops
added patterns for indirect local and external increments
added patterns for loe ine and such
1984-08-03 16:33:40 +00:00
sater eebc753306 removed all calls to blm~ from table
duplicated some patterns for in[lc] to deal with de[lc]
extra rule for adi 2 to deal with source1 cleverly
1984-07-23 11:29:59 +00:00
sater eb823929a1 A sti 8 of a regdef8 token went into panic mode. Fixed. 1984-07-20 10:32:48 +00:00
sater ef248ee65e to check long >= 0 or long < 0 it is enough to test high order word. Added.
anding and oring of long constants is much better now
dvu 2 and rmu 2 by positive constants is now done inline.
1984-07-19 16:50:27 +00:00
sater 15e9fd8cd5 removed #ifdef UNTESTED around logical instructions without arguments,
seems they were used ( which implicitly means tested ) after all
1984-07-19 14:03:49 +00:00
sater e1aef765a0 added patterns for ldc adi/ldc sbi with zero high order word
added patterns for *--p with p register
added patterns to generate cmpb to compare two bytes.
added patterns to use regvar to index global array
added patterns for lol inl
added patterns for external pointer increment/decrement
1984-07-18 16:47:24 +00:00
sater 8304ce5eae removed recursive comments
removed NC with sti rules
added rule to reverse operands of adi 2
added rule to convert loc sbi to loc adi
added loc slu -> loc sli rule
added local++ rule
added rule for asping xsource2
added rule for csb when nothing on stack
1984-07-18 13:39:24 +00:00
sater e2f49f412d added special patterns for:
1) long compared to constant ( ldc cms 4 zxx )
2) long increments ( ld? ldc adi 4 sd? )
3) autoincrement loads and stores ( lol lol adp stl loi/sti )
1984-07-16 14:39:21 +00:00
sater 267955e114 added missing #endif
added two patterns, big improvement
added patterns for ciu and cui
some cosmetic change
1984-07-13 16:13:56 +00:00
sater da8966a6c8 Removed some patterns that have never been tested.
Now if someone uses them he will hear that it doesn't work.
That must be better then giving him code that probably won't work.
All these patterns had to do with things like adf without an argument
and things like that.
1984-07-13 14:55:37 +00:00
sater 3e78acff56 removed REGPATCH define 1984-07-12 11:03:18 +00:00
sater 2d4de6d34e added rcsid
Some constants had survived in the text. They were parametrized.
1984-05-19 12:52:25 +00:00
sater c58492b45b Initial revision 1984-05-19 12:48:59 +00:00