Commit Graph

45 Commits

Author SHA1 Message Date
florian
fa207becc1 * not(b) if b is a register variable, didn't work, fixed 2000-03-19 15:20:22 +00:00
peter
2ba0ebe607 * removed warnings/notes 2000-02-24 18:41:38 +00:00
florian
904bfac5b9 * fixed a bug in int64/qword handling was a quite ugly one 2000-02-18 21:25:48 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
florian
567966baad * slighly improved code for -<qword> and -<int64> 2000-01-27 15:46:00 +00:00
Jonas Maebe
23d69a5126 * changed edi allocation to use getexplicitregister32/ungetregister
(adapted tgeni386 a bit for this) and enabled it by default
  * fixed very big and stupid bug of mine in cg386mat that broke the
    include() code (and make cycle :( ) if you compiled without
    -dnewoptimizations
2000-01-09 12:34:59 +00:00
Jonas Maebe
86ff0db0b5 + (de)allocation info for EDI to fix reported bug on mailinglist.
Also some (de)allocation info for ESI added. Between -dallocEDI
    because at this time of the night bugs could easily slip in ;)
2000-01-09 01:44:18 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
peter
aee15a90ce * fixed movd isntruction to be A_MOVD instead of A_MOV S_D 2000-01-07 00:12:10 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
florian
9f62eb480b * the maybe_push fix of Pierre wasn't 100%, the tree parameter
must contain a valid location (which is saved if necessary)
1999-09-28 19:43:45 +00:00
peter
e45b7754be * fixed push/restore bug in div/mod 1999-09-27 23:37:26 +00:00
florian
63ceb87e8f * problems with -Or fixed: tdef.isfpuregable was wrong! 1999-09-02 17:07:38 +00:00
pierre
63608b6dbb * emit_??? used 1999-08-19 13:08:43 +00:00
florian
e53aceb9be + floating point register variables !!
* pairegalloc is now generated for register variables
1999-08-04 13:45:17 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
florian
0fa46763ad * qword division fixed
+ code for qword/int64 type casting added:
    range checking isn't implemented yet
1999-06-28 22:29:10 +00:00
florian
2ad3da43e6 * make cycle fixed i.e. compilation with 0.99.10
* some fixes for qword
  * start of register calling conventions
1999-06-02 10:11:39 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
florian
8d99f7a098 * some bugs in the qword code generation fixed 1999-05-25 20:36:11 +00:00
Jonas Maebe
89405ceeed + positive number MOD power of 2 now done with AND instruction
* fix to division of positive numbers by power of 2
  * the result of a MOD is left in EDX if possible
1999-05-08 20:41:08 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
Jonas Maebe
246a653a5d * more regalloc fixes (still not complete) 1999-04-16 13:42:23 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
florian
9b3fd7f5b6 + range checking for ansi- and widestrings
* made it compilable with TP
1999-02-04 10:49:39 +00:00
pierre
c18fdf95f3 * fix for bug0211 for i386 1999-02-03 10:11:11 +00:00
peter
4517f917fd * fixed array of const
* generic platform independent high() support
1999-01-21 22:10:35 +00:00
pierre
e92f07f542 * fix to bug0183 in secondnot 1999-01-19 10:51:32 +00:00
florian
1b4cf9afb5 + typed const int64 and qword
+ unary minus-operator  q1:=-q2;
  + not-operator
1998-12-11 16:50:22 +00:00
florian
8534a40b75 + shifting for 64 bit ints added
* bug in getexplicitregister32 fixed: usableregs wasn't decremented !!
1998-12-11 16:10:07 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
Jonas Maebe
31cc13417a - removed A_CLTD opcode (use A_CDQ instead)
* changed cbw, cwde and cwd to cbtw, cwtl and cwtd in att_op2str array
  * in daopt386: adapted AsmInstr array to reflect changes + fixed line too long
1998-11-26 21:45:29 +00:00
peter
82aa9f9b00 * fixed shlshr which would push ecx when not needed 1998-11-05 14:26:01 +00:00
peter
887c29f7a2 * fixed 'not not boolean', the location was not set to register 1998-10-20 13:12:38 +00:00
pierre
1a77339355 * several memory corruptions due to double freemem solved
=> never use p^.loc.location:=p^.left^.loc.location;
  + finally I added now by default
    that ra386dir translates global and unit symbols
  + added a first field in tsymtable and
    a nextsym field in tsym
    (this allows to obtain ordered type info for
    records and objects in gdb !)
1998-10-20 08:06:37 +00:00
pierre
7621dc0b56 * several memory leaks fixed 1998-10-09 08:56:21 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00
florian
dc329ecee3 * mod/div for cardinal type fixed 1998-09-09 14:37:37 +00:00
florian
c1c5ec3235 * internalerror with mod/div fixed 1998-08-23 16:07:20 +00:00
pierre
2222aab027 * small warning position bug fixed
* support_mmx switches splitting was missing
  * rhide error and warning output corrected
1998-08-18 09:24:35 +00:00
peter
6f4cfe38eb * splitted cgi386 1998-06-05 17:44:10 +00:00
pierre
f08a7114ae * with node corrected for objects
* small bugs for SUPPORT_MMX fixed
1998-06-02 17:02:59 +00:00
peter
ce75b83d12 + boolean -> ord conversion
* fixed ord -> boolean conversion
1998-06-01 16:50:18 +00:00