uz
08d6d96264
Added better code to replace tossubax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4058 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 22:07:28 +00:00
uz
d65928829f
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
2009-08-27 22:00:18 +00:00
uz
55e8f67640
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
2009-08-27 16:59:26 +00:00
uz
1b4e2111c3
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
2009-08-27 16:38:27 +00:00
uz
7c55f30627
Fixed a problem with OptPtrLoad6 (must correct stack pointer).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4054 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 16:13:17 +00:00
uz
1b40f00573
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
2009-08-27 15:30:52 +00:00
uz
ee6028993e
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
2009-08-27 14:43:44 +00:00
uz
2b15f40424
Use the new AddrSizeFromStr function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:19:47 +00:00
uz
6f39a15eff
Added an AddrSizeFromStr function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:11:07 +00:00
uz
23dae5a04b
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
2009-08-23 21:40:36 +00:00
uz
4c4071b34a
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
2009-08-23 21:38:11 +00:00
uz
8fa42540c1
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
2009-08-20 21:01:01 +00:00
uz
f63964e23c
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
2009-08-20 16:06:20 +00:00
uz
4a93f188a0
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
2009-08-20 10:55:38 +00:00
uz
c4763e9007
Special cased the division 16 by 8.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4043 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 14:51:16 +00:00
uz
b9c0d6ac85
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
2009-08-19 13:36:26 +00:00
uz
8a0d80bbf0
Inline the left shift routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4041 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 13:20:28 +00:00
uz
57ef34f041
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
2009-08-19 12:47:30 +00:00
uz
f3b639f835
Generate more predictable code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 10:17:10 +00:00
uz
2e8d62cf88
Add an additional precondition check for safety.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 10:14:14 +00:00
uz
824ab8b137
Serval improvements, handling of tossubax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4037 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-18 15:10:15 +00:00
uz
acd1233bf2
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
2009-08-17 20:48:28 +00:00
uz
b5a44f9542
Added a multiplication test program.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4035 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 20:37:36 +00:00
uz
45aa228489
Change order of insns in generated sequence in OptPtrLoad17.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:25:54 +00:00
uz
430c13f658
Added/corrected code info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:23:29 +00:00
uz
97c0e45c9f
Rewrite of the main function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4032 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 12:52:50 +00:00
uz
548dfd3060
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
2009-08-16 23:37:09 +00:00
uz
1bd4abdc67
Use correct adddressing mode for "asl a".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4030 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 21:01:16 +00:00
uz
cbf4884f13
Some more pattern replacements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4029 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 20:56:33 +00:00
uz
e646d35db0
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
2009-08-16 19:23:07 +00:00
uz
bfc8bd6d74
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
2009-08-16 16:38:52 +00:00
uz
3aa4d74b18
Added more function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4026 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 16:38:25 +00:00
uz
aa7d419165
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
2009-08-15 21:06:06 +00:00
uz
582506b7fc
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
2009-08-15 21:00:27 +00:00
uz
b1f772e9be
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
2009-08-15 20:58:35 +00:00
uz
d0f9a0d6a7
Fixed wrong insertion order that caused problems with labels.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:49:46 +00:00
uz
14b00447a8
Fixed wrong insertion order that caused problems with labels.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:45:02 +00:00
uz
b4fda62df9
clc should always be the insn before adc.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4020 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:00:30 +00:00
uz
15c420fd39
Some branch improvements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:58:21 +00:00
uz
3381311674
Inline some forms of aslax1
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:27:43 +00:00
uz
f495a9edc3
Fixed an error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:43:59 +00:00
uz
61195d914e
Replace ldaxidx by inline code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:20:26 +00:00
uz
33f6c85753
Add more function to the "harmless calls" list.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4015 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:18:00 +00:00
uz
b391929acb
Minor improvement in last change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:42:40 +00:00
uz
3717443f3b
Try to generate more predictable code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:25:40 +00:00
uz
fbe009a182
Remove even more transfer instructions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:16:56 +00:00
uz
14f213cadb
Remove unnecessary transfer instructions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 12:49:15 +00:00
uz
b68db83a2b
Remove more push/pop sequences.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:27:41 +00:00
uz
d27664036d
Change order of replacement code in OptPtrLoad10 to allow detection in other
...
steps.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:14:04 +00:00
uz
ec8280cc52
Use __asm__() instead of asm().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4008 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 09:08:03 +00:00