Commit Graph

79 Commits

Author SHA1 Message Date
Joel Dice
6d887ef34f comment-out debug logging in powerpc.cpp 2010-06-25 21:51:32 -06:00
JET
b2f5e71d22 ARM and UTF-8 work 2010-04-14 09:26:50 -06:00
Joel Dice
98275e175e powerpc bugfixes 2009-12-01 09:21:33 -07:00
Joel Dice
5ead8fab17 refactor code responsible for moving data in the compiler
This is partially to address incorrect code generation for 64-bit
floating-point values on x86_32 and partially to reduce unnecessary
moves.
2009-11-27 21:15:12 -07:00
jet
d901653979 Merge branch 'master' into wip
Conflicts:

	src/compile.cpp
2009-10-29 14:23:20 -06:00
jet
e00fc5d91a ARM port work 2009-10-29 10:12:30 -06:00
Joel Dice
e06f0407cb fix powerpc bootimage build (second try) 2009-10-20 09:06:52 -06:00
Joel Dice
c044781807 fix powerpc bootimage build 2009-10-20 08:20:49 -06:00
Joel Dice
984f3106fd fix powerpc build 2009-10-19 10:31:34 -06:00
Joel Dice
609a1a9633 snapshot 2009-10-07 00:50:32 +00:00
Joel Dice
325f93b4d1 Merge branch 'master' into wip
Conflicts:

	src/compile.cpp
	src/compiler.cpp
	src/machine.h
	src/x86.cpp
2009-09-20 15:43:32 -06:00
Josh warner
711680a183 fixed powerpc compile errors 2009-08-11 13:29:00 -06:00
Joel Dice
935329d7cf fix 32-bit shift case in unsignedShiftRightC 2009-08-11 12:36:25 -06:00
Josh warner
1d3ef1fc43 Merge branch 'master' of git://oss.readytalk.com/avian, fixed problems that occured in broader testing
Conflicts:
	src/compile.cpp
	src/compiler.cpp
	src/powerpc.cpp
	src/x86.S
	src/x86.cpp
2009-08-10 13:20:23 -06:00
Josh warner
c3a389429e split source function, update interface for floating point / instrinsic support 2009-08-06 08:54:23 -06:00
Joel Dice
ec60b844d4 fix powerpc tail calls 2009-05-27 18:15:39 -06:00
Joel Dice
49a2c1846d powerpc bugfixes 2009-05-26 19:30:11 -06:00
Joel Dice
2608a2ee43 progress towards powerpc continuation and tail call support 2009-05-26 19:02:39 -06:00
Joel Dice
1ed7c0d94c adapt native method call code to new calling convention 2009-04-25 11:49:56 -06:00
Joel Dice
717f359666 implement "callee pops arguments" calling convention and refactor tail call code accordingly 2009-04-19 16:36:11 -06:00
Joel Dice
35d1c6e068 add SingleRead::successor; fix build errors
The SingleRead::successor field is used (when non-null) to further
constrain the SiteMask in SingleRead::intersect based on reads of
successor values (as in the cases of moves and condensed-addressing
combine and translate instructions).
2009-04-06 18:34:12 -06:00
Joel Dice
5e740170f2 initial sketch of tail call optimization (non-virtual calls only, so far) 2009-03-31 14:15:08 -06:00
Joel Dice
12640219e6 handle b == dst case in andC 2009-03-14 14:34:44 -06:00
Joel Dice
54b691f4de handle b == t case in multiplyR and remainderR 2009-03-14 14:14:49 -06:00
J. Treadwell
21fa23d84b fixed multiplyC bug (all multiplies now delegated to multiplyR) 2009-03-13 18:37:40 -06:00
Joel Dice
49cd2dd9bf fix powerpc bootimage build (second try) 2009-03-10 19:08:16 -06:00
Joel Dice
6c271ac994 fix powerpc bootimage build 2009-03-09 18:52:09 -06:00
Joel Dice
4347228585 fix thinko in addC for zero constant case 2009-03-08 20:55:54 -06:00
Joel Dice
68ed5e6cb5 fix addC for case where bit 15 of constant is set 2009-03-08 20:09:06 -06:00
Joel Dice
e1395f300a fix warnings for optimized build 2009-03-07 17:52:18 -07:00
Joel Dice
9b9ae62541 defer to moveCR when adding or subtracting zero 2009-03-06 17:11:51 -07:00
Joel Dice
ca0d4b44c1 defer moveZCR to moveCR 2009-03-06 10:54:43 -07:00
Joel Dice
a0e503ad0a optimize moveRR and fix andC 2009-03-05 20:21:15 -07:00
Joel Dice
75e28e81c9 fix operand ordering in remainderR 2009-03-05 19:35:49 -07:00
Joel Dice
ec610a5521 handle shift counts greater than 31 properly 2009-03-05 19:05:39 -07:00
Joel Dice
16e81bcc07 fix orC 2009-03-05 18:33:00 -07:00
Joel Dice
7d48547f0e fix compareUnsignedCR, which relied on sign extension in cmplwi, which actually does zero extension; fix use of li argument to instruction format I 2009-03-05 18:02:03 -07:00
Joel Dice
3e495b8ca5 use mulhwu and eliminate temporary in 64-bit multiplyRR 2009-03-04 19:50:03 -07:00
Joel Dice
77195713b8 fix xorR regression introduced in last commit 2009-03-04 19:22:47 -07:00
Joel Dice
cca3e72318 fix 64-bit xorC 2009-03-04 19:20:15 -07:00
Joel Dice
acfa1ee2ff fix 64-bit negateRR 2009-03-04 18:59:04 -07:00
Joel Dice
d48e5377fe add missing instruction to multiplyR 2009-03-04 18:43:53 -07:00
Joel Dice
a8da9ecb05 fix use of displacement parameter in instruction format B; use correct opcode in slw instruction 2009-03-04 18:20:54 -07:00
Joel Dice
296c93a04c fix backwards logic in longCompare; correct unsupported use of JumpIfLessOrEqualC in shiftRightR; add multiply, divide, and remainder operations to table 2009-03-04 17:54:47 -07:00
JET
dbcd42e70c added 64-bit shifts and mul/div 2009-03-04 10:11:42 -07:00
Joel Dice
2ca8132d97 implement support for volatile fields 2009-03-02 20:18:15 -07:00
Joel Dice
28d4409b0a implement negateRR 2009-03-01 12:57:07 -07:00
Joel Dice
36196910ed implement xorR and xorC 2009-03-01 12:40:49 -07:00
Joel Dice
696282631a fix endianness issues with 64-bit locals 2009-03-01 12:28:17 -07:00
Joel Dice
117c89b9ee change == to <= in moveCR2 since we only need to ensure dstSize is no more than the word size 2009-02-28 19:10:31 -07:00