David Given
d63a359a49
Fix nearly all the comparisons, a lot of which were broken. Using a rst for
...
unsigned comparisons is surprisingly not that useful due to marshalling
overhead; it's only four bytes to do inline (plus jc), or six for a constant.
Also add some useful top optimisations. Star Trek goes from 39890 to 39450
bytes.
2019-02-15 21:30:27 +01:00
David Given
91c75f81b5
Call cmps rather than cmpu for bge... make cmps and cmpu rsts. Apply various
...
other tiny optimisations.
2019-02-15 00:38:39 +01:00
David Given
2924ce8ffa
Use nicely optimised helper tools to do signed comparisons of words. Star Trek
...
goes from 40452 to 39890 bytes.
2019-02-14 23:57:55 +01:00
David Given
0694cf34b0
Merge pull request #165 from davidgiven/dtrg-b164
...
i80: fix bad code in inl using faddrn
2019-02-14 23:29:41 +01:00
David Given
3c3d2a4520
Fix bad helper tool invocation for inl with faddrn.
2019-02-14 23:21:47 +01:00
David Given
cf6041c57f
Add failing test case.
2019-02-14 23:19:11 +01:00
David Given
44c8b53a2d
Merge pull request #163 from davidgiven/dtrg-regmoves
...
i80: fix pathological behaviour in asp
2019-02-14 00:13:41 +01:00
David Given
8eaa11ac72
Turns out that every time the compiler tried to do a stack retraction with asp,
...
it would flush registers onto the stack. This stops it doing this. Star Trek
goes from 40779 to 40452 bytes.
2019-02-14 00:05:08 +01:00
David Given
2deead3d3d
Merge pull request #161 from davidgiven/dtrg-faststack
...
i80: use helper functions for stack access
2019-02-13 22:56:18 +01:00
David Given
6e3ba8e9a0
Merge from default.
2019-02-13 22:46:00 +01:00
David Given
79a38ecc08
Instead of using parameterised rsts for stack access, add a huge swathe of
...
automatically built helper tools. Star Trek goes up from 40243 to 40779 bytes,
but should be a lot faster.
2019-02-13 22:45:22 +01:00
David Given
f70659f460
Don't do weird things if files starting with a hyphen exist in the build
...
directory.
2019-02-13 22:42:05 +01:00
David Given
37ded7e65d
Merge pull request #160 from davidgiven/dtrg-b159
...
i80, powerpc, mips: fix issue with logical operations and signed small constants
2019-02-13 21:16:06 +01:00
David Given
8200f041c2
Fix issue with logical operations and small signed constants which turned out
...
to affect multiple platforms.
2019-02-13 20:56:10 +01:00
David Given
eb57db75a4
Update test case to provoke bug.
2019-02-13 20:10:38 +01:00
David Given
55f3880f43
Merge pull request #158 from davidgiven/dtrg-b157
...
i80: fix bad code in comparisons
2019-02-12 22:29:01 +01:00
David Given
f4b45f1ed7
Fix bad code generation due to not correctly flushing the stack before
...
comparisons.
2019-02-12 22:19:07 +01:00
David Given
a2b5202081
Added a test case for #157 .
2019-02-12 22:08:08 +01:00
David Given
073451dd44
Merge pull request #154 from ccodere/buildfix
...
Bugfix of compilation on gcc 4.8
2019-02-12 21:51:46 +01:00
carl
664338aa49
Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags) - updated following comment.
2019-02-13 00:17:45 +08:00
David Given
360e1525ae
Replace the non-working Z80 style signed comparison sign adjustment with
...
something which actually works on the 8080. Sadly, Star Trek is up to
40243 bytes again.
2019-02-12 11:57:37 +01:00
David Given
ee716754d3
Merge pull request #156 from davidgiven/dtrg-arraysizes
...
i80: add 8085 instruction support
2019-02-11 21:35:16 +01:00
David Given
e8994afdf0
Apply Alan Cox's patch to add the 8085 extended instructions to the i80
...
assembler.
2019-02-11 21:14:35 +01:00
David Given
ae6ea14e93
Merge pull request #155 from davidgiven/dtrg-arraysizes
...
i80: fix signed comparisons
2019-02-11 21:09:52 +01:00
David Given
f1b128baeb
Signed comparisons now work correctly; sadly, Star Trek increases from 39656 to
...
39726 bytes. Note that the emulator doesn't set P/V correctly and all the tests
fail. Testing in z80ex works fine.
2019-02-11 20:46:06 +01:00
carl
c63f527dde
Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags).
2019-02-12 00:46:09 +08:00
David Given
34e9573929
Merge from default.
2019-02-10 23:40:07 +01:00
David Given
1564e65c2d
Add tests for simple comparisons (which i80 fails).
2019-02-10 23:39:15 +01:00
David Given
3991a0db3a
Merge pull request #153 from davidgiven/dtrg-i80
...
i80: more code generator improvements
2019-02-10 19:45:00 +01:00
David Given
fca54ccc1b
Improve subtractions, using dad and inline constants where possible. Shrinks
...
Star Trek from 39740 to 39656 bytes.
2019-02-10 19:40:48 +01:00
David Given
7d34cd7407
Simplify simple comparisons and use inlie constants where possible. Reduces
...
Star Trek from 39771 to 39740 bytes.
2019-02-10 19:22:43 +01:00
David Given
35d1f36ca4
Use pop rather than inx;inx to retract the stack; consumes a register but
...
halves the number of calls. Reduces Star Trek from 39976 to 39771 bytes.
2019-02-10 18:57:20 +01:00
David Given
b34ff2bdec
Teach the i80 code generator how to do left shifts by using dad hl; prevents it
...
from calling out to .sli2 for simple shifts. Shrinks Star Trek from 40055 bytes
to 39976.
2019-02-10 18:44:47 +01:00
David Given
608e386ca4
Merge pull request #152 from davidgiven/dtrg-osx
...
Enable OSX builds again.
2019-02-10 16:40:16 +01:00
David Given
c95d5db372
Replace mkstemp() with the more modern and safer and simpler tmpfile().
2019-02-10 14:36:15 +01:00
David Given
63fa647bc9
freopen() appears to be problematic on OSX; as it's only ever used to rewind
...
files, replace with rewind().
2019-02-10 14:32:17 +01:00
David Given
1dfafe070c
Better error reporting.
2019-02-10 14:19:18 +01:00
David Given
813595358c
More common symbol removal.
2019-02-10 14:09:52 +01:00
David Given
d37749750d
More common symbol fixing.
2019-02-10 14:03:55 +01:00
David Given
58698bed19
Removed a whole bunch of old strcpy() prototypes in favour of <string.h>.
2019-02-10 13:20:04 +01:00
David Given
c8c48221b3
Second try at removing common symbols.
2019-02-10 13:11:03 +01:00
David Given
8a7077d5a9
Change the way external symbols are defined to avoid COMMON symbols, which
...
don't work on OSX very well.
2019-02-10 12:57:22 +01:00
David Given
666d9a3edb
Add stray header.
2019-02-10 12:57:00 +01:00
David Given
020e910560
Remember that we need to update the generated file in LLgen, as it's not
...
self-bootstrapping...
2019-02-10 12:38:33 +01:00
David Given
dd35aa3eef
We don't need depth 10 in the travis checkout.
2019-02-10 12:35:18 +01:00
David Given
65e544c35a
Don't prototype strcpy as it makes OSX sad.
2019-02-10 12:28:42 +01:00
David Given
7cdd0cd5c0
Merge from default.
2019-02-10 12:22:59 +01:00
David Given
aa6aefdaa0
Add missing header.
2019-02-10 00:45:09 +01:00
David Given
39acc01862
Merge pull request #150 from davidgiven/dtrg-windows
...
Don't run the floating point tests on i80.
2019-02-09 17:43:19 +01:00
David Given
810afbb5b9
Don't run the floating point tests on i80.
2019-02-09 14:24:31 +01:00