]> git.sur5r.net Git - cc65/log
cc65
15 years agoFixed problems with OptPrecalc. It removed insns because it results were known
uz [Fri, 4 Sep 2009 15:44:48 +0000 (15:44 +0000)]
Fixed problems with OptPrecalc. It removed insns because it results were known
- but the insns generate a carry which may be needed later.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4115 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a typo in a comment.
uz [Fri, 4 Sep 2009 15:42:36 +0000 (15:42 +0000)]
Fixed a typo in a comment.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4114 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoReplace "lda (zp),y" by "lda (zp,x)" where possible and where it saves us
uz [Thu, 3 Sep 2009 12:13:08 +0000 (12:13 +0000)]
Replace "lda (zp),y" by "lda (zp,x)" where possible and where it saves us
cycles and code bytes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4113 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoReplacement code for ule and ugt was wrong and did not cover values that were
uz [Thu, 3 Sep 2009 11:58:11 +0000 (11:58 +0000)]
Replacement code for ule and ugt was wrong and did not cover values that were
equal.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4112 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded code replacements for several missing compare functions. Fixed a bug in
uz [Tue, 1 Sep 2009 20:57:39 +0000 (20:57 +0000)]
Added code replacements for several missing compare functions. Fixed a bug in
coptstop.c that popped up if transfer instructions were used to load a value
into X.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4111 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoTerminate after printing the version number when -V is used.
uz [Tue, 1 Sep 2009 14:41:37 +0000 (14:41 +0000)]
Terminate after printing the version number when -V is used.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4110 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoUpdated and clarified the coding hints.
uz [Tue, 1 Sep 2009 10:19:20 +0000 (10:19 +0000)]
Updated and clarified the coding hints.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4109 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoImproved code generation, better tracking.
uz [Tue, 1 Sep 2009 10:07:02 +0000 (10:07 +0000)]
Improved code generation, better tracking.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4108 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a problem with OptCmp3 that was in there for a while but is now
uz [Tue, 1 Sep 2009 10:06:39 +0000 (10:06 +0000)]
Fixed a problem with OptCmp3 that was in there for a while but is now
triggered because of the new subtraction code sequence.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4107 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoMinor code improvement.
uz [Tue, 1 Sep 2009 09:15:19 +0000 (09:15 +0000)]
Minor code improvement.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4106 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSimplify code generated for the ?: operator when type conversion code for the
uz [Tue, 1 Sep 2009 08:57:36 +0000 (08:57 +0000)]
Simplify code generated for the ?: operator when type conversion code for the
second operand is necessary. Instead of generating interleaved code with
several jumps, just move the code to the right place.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4105 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRemember more function infos in the Function struct.
uz [Mon, 31 Aug 2009 20:37:54 +0000 (20:37 +0000)]
Remember more function infos in the Function struct.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4104 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a bug in Opt_tosaddax.
uz [Mon, 31 Aug 2009 19:36:06 +0000 (19:36 +0000)]
Fixed a bug in Opt_tosaddax.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4103 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSimplify the code somewhat.
uz [Mon, 31 Aug 2009 18:18:50 +0000 (18:18 +0000)]
Simplify the code somewhat.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4102 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoMake the AddOpLow and AddOpHigh functions usable with both, lhs and rhs
uz [Mon, 31 Aug 2009 18:02:44 +0000 (18:02 +0000)]
Make the AddOpLow and AddOpHigh functions usable with both, lhs and rhs
operands.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4101 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoPrint the SVN version number when -V or --version is used.
uz [Mon, 31 Aug 2009 17:17:18 +0000 (17:17 +0000)]
Print the SVN version number when -V or --version is used.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4100 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a few C99isms that prevented the sources to compile with Watcom-C.
uz [Mon, 31 Aug 2009 17:15:59 +0000 (17:15 +0000)]
Fixed a few C99isms that prevented the sources to compile with Watcom-C.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4099 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a copy&paste error in a comment.
uz [Mon, 31 Aug 2009 16:48:45 +0000 (16:48 +0000)]
Fixed a copy&paste error in a comment.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4098 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoImproved code for bit fields.
uz [Mon, 31 Aug 2009 15:11:32 +0000 (15:11 +0000)]
Improved code for bit fields.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4097 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoImproved the code generated for bit-fields.
uz [Mon, 31 Aug 2009 14:59:49 +0000 (14:59 +0000)]
Improved the code generated for bit-fields.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4096 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdd a warning if a function returning something does not contain a return
uz [Mon, 31 Aug 2009 13:18:49 +0000 (13:18 +0000)]
Add a warning if a function returning something does not contain a return
statement.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4095 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoThe pleasp.s module is no longer in use.
uz [Mon, 31 Aug 2009 12:56:54 +0000 (12:56 +0000)]
The pleasp.s module is no longer in use.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4094 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded info about changed leaa0sp and leaaxsp. Rewrote g_leasp to cope with 16
uz [Mon, 31 Aug 2009 12:41:38 +0000 (12:41 +0000)]
Added info about changed leaa0sp and leaaxsp. Rewrote g_leasp to cope with 16
stack offsets, because it's rather easy in this case.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4093 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoOh well. Decided to throw away the separate implementation for leaa0sp,
uz [Mon, 31 Aug 2009 12:22:13 +0000 (12:22 +0000)]
Oh well. Decided to throw away the separate implementation for leaa0sp,
because it's not used too much, may sometimes inlined and can easily be
replaced by another entry in leaaxsp.s

git-svn-id: svn://svn.cc65.org/cc65/trunk@4092 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRenamed leaasp.s again, this time to leaa0sp.s. Added a new module leaaxsp.s.
uz [Mon, 31 Aug 2009 12:15:51 +0000 (12:15 +0000)]
Renamed leaasp.s again, this time to leaa0sp.s. Added a new module leaaxsp.s.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4091 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRenamed leasp.s to leaasp.s
uz [Mon, 31 Aug 2009 12:10:59 +0000 (12:10 +0000)]
Renamed leasp.s to leaasp.s

git-svn-id: svn://svn.cc65.org/cc65/trunk@4090 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFor bit fields contained within single bytes, try to do character operations
uz [Sun, 30 Aug 2009 09:01:04 +0000 (09:01 +0000)]
For bit fields contained within single bytes, try to do character operations
instead of word sized ops.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4089 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoUse CHAR_BITS instead of a hardcoded 8 bits/byte.
uz [Sun, 30 Aug 2009 08:37:21 +0000 (08:37 +0000)]
Use CHAR_BITS instead of a hardcoded 8 bits/byte.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4088 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoMake the SIZEOF_XXX constants resolve to unsigned values.
uz [Sun, 30 Aug 2009 08:36:56 +0000 (08:36 +0000)]
Make the SIZEOF_XXX constants resolve to unsigned values.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4087 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAny field without a name is legal but useless in a union.
uz [Sun, 30 Aug 2009 08:30:55 +0000 (08:30 +0000)]
Any field without a name is legal but useless in a union.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4086 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSeparate the functions that parse unions and structs, because they became too
uz [Sun, 30 Aug 2009 08:28:16 +0000 (08:28 +0000)]
Separate the functions that parse unions and structs, because they became too
different.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4085 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoMissing resp. ignored "volatile".
uz [Sun, 30 Aug 2009 07:55:21 +0000 (07:55 +0000)]
Missing resp. ignored "volatile".

git-svn-id: svn://svn.cc65.org/cc65/trunk@4084 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded even more subroutines to the "harmless calls" list.
uz [Sat, 29 Aug 2009 23:19:01 +0000 (23:19 +0000)]
Added even more subroutines to the "harmless calls" list.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4083 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFew small changes. Started a new section about implementation-defined
uz [Sat, 29 Aug 2009 22:03:41 +0000 (22:03 +0000)]
Few small changes. Started a new section about implementation-defined
behavior.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4082 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoCode improvements
uz [Sat, 29 Aug 2009 21:58:06 +0000 (21:58 +0000)]
Code improvements

git-svn-id: svn://svn.cc65.org/cc65/trunk@4081 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRewrote the paragraph about compiler limits and standard compliance.
uz [Sat, 29 Aug 2009 21:32:14 +0000 (21:32 +0000)]
Rewrote the paragraph about compiler limits and standard compliance.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4080 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFirst implementation of bit fields.
uz [Sat, 29 Aug 2009 21:20:13 +0000 (21:20 +0000)]
First implementation of bit fields.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4079 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded more harmless functions to the list, so the stuff gets applied in more
uz [Sat, 29 Aug 2009 21:17:28 +0000 (21:17 +0000)]
Added more harmless functions to the list, so the stuff gets applied in more
cases.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4078 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoImproved code for shifts.
uz [Sat, 29 Aug 2009 20:16:52 +0000 (20:16 +0000)]
Improved code for shifts.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4077 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoThe shift long by 4 functions do also destroy Y.
uz [Sat, 29 Aug 2009 20:14:20 +0000 (20:14 +0000)]
The shift long by 4 functions do also destroy Y.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4076 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoInfo for long shift functions was missing or wrong.
uz [Sat, 29 Aug 2009 20:04:18 +0000 (20:04 +0000)]
Info for long shift functions was missing or wrong.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4075 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFix wrong check for typedef which caused non allocation of storage for structs
uz [Sat, 29 Aug 2009 19:05:01 +0000 (19:05 +0000)]
Fix wrong check for typedef which caused non allocation of storage for structs
after the latest changes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4074 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRename Width to BitWidth.
uz [Sat, 29 Aug 2009 19:04:21 +0000 (19:04 +0000)]
Rename Width to BitWidth.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4073 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded code to parse bit fields and enter them into the symbol table. They're
uz [Sat, 29 Aug 2009 17:38:53 +0000 (17:38 +0000)]
Added code to parse bit fields and enter them into the symbol table. They're
not supported in code generation until now.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4072 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAnother tiny code improvement for integer compares.
uz [Sat, 29 Aug 2009 11:31:28 +0000 (11:31 +0000)]
Another tiny code improvement for integer compares.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4071 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a problem with local variables (stack offset for RHS was not corrected).
uz [Sat, 29 Aug 2009 11:31:06 +0000 (11:31 +0000)]
Fixed a problem with local variables (stack offset for RHS was not corrected).

git-svn-id: svn://svn.cc65.org/cc65/trunk@4070 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoJust comment and formatting changes.
uz [Sat, 29 Aug 2009 10:54:59 +0000 (10:54 +0000)]
Just comment and formatting changes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4069 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChange mode constants for ParseDecl to an enum.
uz [Fri, 28 Aug 2009 21:34:28 +0000 (21:34 +0000)]
Change mode constants for ParseDecl to an enum.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4068 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoReorder optimimization steps to get better results.
uz [Fri, 28 Aug 2009 21:03:17 +0000 (21:03 +0000)]
Reorder optimimization steps to get better results.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4067 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded more code to improve compares.
uz [Fri, 28 Aug 2009 19:34:35 +0000 (19:34 +0000)]
Added more code to improve compares.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4066 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a bug introduced by recent changes.
uz [Fri, 28 Aug 2009 17:38:24 +0000 (17:38 +0000)]
Fixed a bug introduced by recent changes.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4065 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoIncrease count to 16384. Simplify complex expression.
uz [Fri, 28 Aug 2009 17:21:58 +0000 (17:21 +0000)]
Increase count to 16384. Simplify complex expression.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4064 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChanged code generated for compares. Fixed bugs in OptStackOps. Still
uz [Fri, 28 Aug 2009 16:32:58 +0000 (16:32 +0000)]
Changed code generated for compares. Fixed bugs in OptStackOps. Still
generates wrong code in at least one place.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4063 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChange code generated for compares for special cases.
uz [Fri, 28 Aug 2009 13:44:03 +0000 (13:44 +0000)]
Change code generated for compares for special cases.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4062 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded -u as an alias for --force-import. Updated command line option infos in
uz [Fri, 28 Aug 2009 10:23:19 +0000 (10:23 +0000)]
Added -u as an alias for --force-import. Updated command line option infos in
the cl65 and ld65 docs.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4061 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRelax the precondition for OPtStackOps somewhat.
uz [Fri, 28 Aug 2009 09:29:11 +0000 (09:29 +0000)]
Relax the precondition for OPtStackOps somewhat.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4060 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoWhen preprocessing, all compares evaluate to constants, so don't print a
uz [Thu, 27 Aug 2009 22:09:46 +0000 (22:09 +0000)]
When preprocessing, all compares evaluate to constants, so don't print a
warning in this case.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4059 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded better code to replace tossubax.
uz [Thu, 27 Aug 2009 22:07:28 +0000 (22:07 +0000)]
Added better code to replace tossubax.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4058 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded a warning if the result of a compare operation is constant. This should
uz [Thu, 27 Aug 2009 22:00:18 +0000 (22:00 +0000)]
Added a warning if the result of a compare operation is constant. This should
protect against missing parenthesis like in (si & 0x7F == 0). Hopefully
without too many false positives.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4057 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoTry to generate more predicable code. clc always before adc or sbc.
uz [Thu, 27 Aug 2009 16:59:26 +0000 (16:59 +0000)]
Try to generate more predicable code. clc always before adc or sbc.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4056 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoCheck for usage of Y instead of reloading it. The latter will destroy the
uz [Thu, 27 Aug 2009 16:38:27 +0000 (16:38 +0000)]
Check for usage of Y instead of reloading it. The latter will destroy the
flags from load of A.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4055 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a problem with OptPtrLoad6 (must correct stack pointer).
uz [Thu, 27 Aug 2009 16:13:17 +0000 (16:13 +0000)]
Fixed a problem with OptPtrLoad6 (must correct stack pointer).

git-svn-id: svn://svn.cc65.org/cc65/trunk@4054 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded the --force-import option also to the cl65 utility.
uz [Thu, 27 Aug 2009 15:30:52 +0000 (15:30 +0000)]
Added the --force-import option also to the cl65 utility.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4053 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded a new "--force-import" command line option to the linker.
uz [Thu, 27 Aug 2009 14:43:44 +0000 (14:43 +0000)]
Added a new "--force-import" command line option to the linker.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4052 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoUse the new AddrSizeFromStr function.
uz [Thu, 27 Aug 2009 14:19:47 +0000 (14:19 +0000)]
Use the new AddrSizeFromStr function.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4051 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded an AddrSizeFromStr function.
uz [Thu, 27 Aug 2009 14:11:07 +0000 (14:11 +0000)]
Added an AddrSizeFromStr function.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4050 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed two more function that didn't clear the high byte of the function result.
uz [Sun, 23 Aug 2009 21:40:36 +0000 (21:40 +0000)]
Fixed two more function that didn't clear the high byte of the function result.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4049 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed an error in cbm_k_save (on which cbm_save is based): The X register was
uz [Sun, 23 Aug 2009 21:38:11 +0000 (21:38 +0000)]
Fixed an error in cbm_k_save (on which cbm_save is based): The X register was
not cleared on return.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4048 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoDisable handling of tossubax since it won't work as implemented in many cases.
uz [Thu, 20 Aug 2009 21:01:01 +0000 (21:01 +0000)]
Disable handling of tossubax since it won't work as implemented in many cases.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4047 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded several constraints to the optimizer functions to avoid breaking code.
uz [Thu, 20 Aug 2009 16:06:20 +0000 (16:06 +0000)]
Added several constraints to the optimizer functions to avoid breaking code.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4046 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed a bug reported by Greg King: Initialized data for constant arrays was
uz [Thu, 20 Aug 2009 10:55:38 +0000 (10:55 +0000)]
Fixed a bug reported by Greg King: Initialized data for constant arrays was
not placed in the RODATA but in the DATA segment.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4044 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSpecial cased the division 16 by 8.
uz [Wed, 19 Aug 2009 14:51:16 +0000 (14:51 +0000)]
Special cased the division 16 by 8.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4043 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAlso handle ldaxysp as a valid load insn before a push.
uz [Wed, 19 Aug 2009 13:36:26 +0000 (13:36 +0000)]
Also handle ldaxysp as a valid load insn before a push.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4042 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoInline the left shift routines.
uz [Wed, 19 Aug 2009 13:20:28 +0000 (13:20 +0000)]
Inline the left shift routines.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4041 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoApply OptTransfers3 again in a later step, so it gets another chance.
uz [Wed, 19 Aug 2009 12:47:30 +0000 (12:47 +0000)]
Apply OptTransfers3 again in a later step, so it gets another chance.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4040 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoGenerate more predictable code.
uz [Wed, 19 Aug 2009 10:17:10 +0000 (10:17 +0000)]
Generate more predictable code.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4039 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdd an additional precondition check for safety.
uz [Wed, 19 Aug 2009 10:14:14 +0000 (10:14 +0000)]
Add an additional precondition check for safety.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4038 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoServal improvements, handling of tossubax.
uz [Tue, 18 Aug 2009 15:10:15 +0000 (15:10 +0000)]
Serval improvements, handling of tossubax.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4037 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoGreatly improved multiplication routine. Optimized the generic 16x16 one and
uz [Mon, 17 Aug 2009 20:48:28 +0000 (20:48 +0000)]
Greatly improved multiplication routine. Optimized the generic 16x16 one and
added special cases for 8x16 and 8x8. The former is directly called by the
compiler as tosmula0 and tosumula0 resp.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4036 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded a multiplication test program.
uz [Mon, 17 Aug 2009 20:37:36 +0000 (20:37 +0000)]
Added a multiplication test program.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4035 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChange order of insns in generated sequence in OptPtrLoad17.
uz [Mon, 17 Aug 2009 16:25:54 +0000 (16:25 +0000)]
Change order of insns in generated sequence in OptPtrLoad17.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4034 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded/corrected code info.
uz [Mon, 17 Aug 2009 16:23:29 +0000 (16:23 +0000)]
Added/corrected code info.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4033 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoRewrite of the main function.
uz [Mon, 17 Aug 2009 12:52:50 +0000 (12:52 +0000)]
Rewrite of the main function.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4032 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoChange order, so that the forced imports for main() go into the global
uz [Sun, 16 Aug 2009 23:37:09 +0000 (23:37 +0000)]
Change order, so that the forced imports for main() go into the global
segments and not the one for main().

git-svn-id: svn://svn.cc65.org/cc65/trunk@4031 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoUse correct adddressing mode for "asl a".
uz [Sun, 16 Aug 2009 21:01:16 +0000 (21:01 +0000)]
Use correct adddressing mode for "asl a".

git-svn-id: svn://svn.cc65.org/cc65/trunk@4030 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSome more pattern replacements.
uz [Sun, 16 Aug 2009 20:56:33 +0000 (20:56 +0000)]
Some more pattern replacements.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4029 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoOutput an apropriate error message when a floating point type is encountered
uz [Sun, 16 Aug 2009 19:23:07 +0000 (19:23 +0000)]
Output an apropriate error message when a floating point type is encountered
(instead of an internal compiler error).

git-svn-id: svn://svn.cc65.org/cc65/trunk@4028 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded an entry point that clears the high word of rhs.
uz [Sun, 16 Aug 2009 16:38:52 +0000 (16:38 +0000)]
Added an entry point that clears the high word of rhs.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4027 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded more function info
uz [Sun, 16 Aug 2009 16:38:25 +0000 (16:38 +0000)]
Added more function info

git-svn-id: svn://svn.cc65.org/cc65/trunk@4026 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoMore entry points for long ops that clear the high word of the lhs.
uz [Sat, 15 Aug 2009 21:06:06 +0000 (21:06 +0000)]
More entry points for long ops that clear the high word of the lhs.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4025 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoCheck also sreg in OptSize1. Added information about shortcut functions for
uz [Sat, 15 Aug 2009 21:00:27 +0000 (21:00 +0000)]
Check also sreg in OptSize1. Added information about shortcut functions for
longs that clear the high word of the right operand on entry.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4024 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdded additional entry points that clear the high word of the right operand.
uz [Sat, 15 Aug 2009 20:58:35 +0000 (20:58 +0000)]
Added additional entry points that clear the high word of the right operand.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4023 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed wrong insertion order that caused problems with labels.
uz [Sat, 15 Aug 2009 16:49:46 +0000 (16:49 +0000)]
Fixed wrong insertion order that caused problems with labels.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4022 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed wrong insertion order that caused problems with labels.
uz [Sat, 15 Aug 2009 16:45:02 +0000 (16:45 +0000)]
Fixed wrong insertion order that caused problems with labels.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4021 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoclc should always be the insn before adc.
uz [Sat, 15 Aug 2009 16:00:30 +0000 (16:00 +0000)]
clc should always be the insn before adc.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4020 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoSome branch improvements.
uz [Sat, 15 Aug 2009 15:58:21 +0000 (15:58 +0000)]
Some branch improvements.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4019 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoInline some forms of aslax1
uz [Sat, 15 Aug 2009 15:27:43 +0000 (15:27 +0000)]
Inline some forms of aslax1

git-svn-id: svn://svn.cc65.org/cc65/trunk@4018 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoFixed an error
uz [Sat, 15 Aug 2009 14:43:59 +0000 (14:43 +0000)]
Fixed an error

git-svn-id: svn://svn.cc65.org/cc65/trunk@4017 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoReplace ldaxidx by inline code.
uz [Sat, 15 Aug 2009 14:20:26 +0000 (14:20 +0000)]
Replace ldaxidx by inline code.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4016 b7a2c559-68d2-44c3-8de9-860c34a00d81

15 years agoAdd more function to the "harmless calls" list.
uz [Sat, 15 Aug 2009 14:18:00 +0000 (14:18 +0000)]
Add more function to the "harmless calls" list.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4015 b7a2c559-68d2-44c3-8de9-860c34a00d81