daniel
448e336682
* Some work to allow mmx instructions to be used for 32 byte sets
2003-12-21 11:28:41 +00:00
Jonas Maebe
bade472032
* fixed some more optimizer bugs, make cycle now works with -O2p3,
...
-O2p3u, -O3p3 and -O3p3u
2003-12-20 22:53:33 +00:00
daniel
d84b7d0743
* Some work to restore the MMX capabilities
2003-12-19 22:08:44 +00:00
peter
a529392b93
* register call fix
2003-12-17 21:59:59 +00:00
peter
1367e342db
* reg allocations for imaginary register are now inserted just
...
before reg allocation
* tregister changed to enum to allow compile time check
* fixed several tregister-tsuperregister errors
2003-12-15 21:25:48 +00:00
Jonas Maebe
6abc491796
- disable removal of dead loads before a call, because register
...
parameters are released before a call
* fix storeback of registers in case of different sizes (e.g., first
a "movl %eax,%edx" and later a "movb %dl,%al")
2003-12-15 16:08:15 +00:00
peter
2057dbd01a
* fix statedebug compile
2003-12-15 15:58:58 +00:00
peter
9cc9068dc9
* wasm args fix from wiktor
2003-12-15 15:58:17 +00:00
peter
c98d2211bc
* fixed range check errors
2003-12-14 22:42:39 +00:00
peter
39b4e0398a
* fixed csdebug
2003-12-14 22:42:14 +00:00
peter
19b2170ee4
* optimizer works again with 1.0.x
...
* fixed wrong loop in FindRegWithConst
2003-12-14 14:18:59 +00:00
Jonas Maebe
942cfc9aac
* isgp32reg was being called with both tsuperregister and tregister
...
parameters, so changed type to tsuperregister (fixes bug reported by
Bas Steendijk)
* improved regsizesok() checking so it gives no false positives anymore
2003-12-13 15:48:47 +00:00
peter
41bf3e473c
* int64 shl/shr > 63 returns 0
2003-12-10 17:28:41 +00:00
peter
cea1da4a1e
* fix loading of word/byte to real
2003-12-08 15:35:00 +00:00
Jonas Maebe
f3d82160b1
* fixed some more bugs which only showed up in a ppc cross compiler
2003-12-07 19:19:56 +00:00
florian
bfe452936f
* reverted Peter's alloctemp patch; hopefully properly
2003-12-06 01:15:22 +00:00
peter
64b0a0eadf
* delayed paraloc allocation, a_param_*() gets extra parameter
...
if it needs to allocate temp or real paralocation
* optimized/simplified int-real loading
2003-12-03 23:13:19 +00:00
peter
9aba5c8c7a
* fixed some crashes
...
* fixed varargs and register calling probs
2003-12-01 18:44:15 +00:00
peter
1b0d0ca3c4
* s128real type is not compatible with s80real
2003-12-01 18:43:31 +00:00
florian
ea754b9a49
* fixed several pi_do_call problems
2003-11-29 20:13:25 +00:00
florian
11c5331fbf
+ nasmelf mode for BeOS
...
+ DQWORD directive in intel assembler mode
2003-11-29 15:53:06 +00:00
peter
bc762e9af4
* support type()
2003-11-29 14:41:02 +00:00
Jonas Maebe
7f4a3bf1a9
* fixed bug which only showed up in the ppc crosscompiler :)
2003-11-28 18:49:05 +00:00
peter
b26e3c444a
* reversed offset calculation for caller side so it works
...
correctly for interfaces
2003-11-28 17:24:22 +00:00
peter
51384ca53c
* register calling is left-right
...
* parameter ordering
* left-right calling inserts result parameter last
2003-11-23 17:05:15 +00:00
Jonas Maebe
7128b3fdd2
* fixed double unit usage
2003-11-22 13:10:32 +00:00
Jonas Maebe
aad37ce53c
* fixed optimiser so it compiles again
...
* fixed several bugs which were in there already for a long time, but
which only popped up now :) -O2/-O3 will now optimise less than in
the past (and correctly so), but -O2u/-O3u will optimise a bit more
* some more small improvements for -O3 are still possible
2003-11-22 00:40:19 +00:00
Jonas Maebe
52980d5488
* fixed properties for MOVSB
2003-11-22 00:35:42 +00:00
Jonas Maebe
16834b1854
* fixed XSTORE instruction info
2003-11-13 18:54:22 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
peter
50f8604526
* check for push_addr
2003-11-11 21:11:23 +00:00
peter
517c5de6aa
* line numbering is now only done when #10 , #10#13 is really parsed
...
instead of when it is the next character
2003-11-10 19:08:32 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
florian
8b337fb5ef
+ type cast variant<->enum
...
* cnv. node second pass uses now as well helper wrappers
2003-11-04 22:30:15 +00:00
peter
48ef24605a
* support scalefactor for opr_local
...
* support reference with opr_local set, fixes tw2631
2003-10-30 19:59:00 +00:00
peter
bef3bb7b22
* fix field offset in reference
2003-10-29 16:47:18 +00:00
peter
5925d38ac7
* support indexing and offset retrieval for locals
2003-10-29 15:40:20 +00:00
peter
d28f3dfdae
* fixed trec.field to return constant
2003-10-27 15:29:43 +00:00
florian
4d070e2a71
* fixed web bug #2128
2003-10-26 13:37:22 +00:00
peter
53e8350307
* more intel parser updates
2003-10-24 17:39:03 +00:00
peter
9342178c7d
* typecasting fixes
...
* reference building more delphi compatible
2003-10-23 17:19:44 +00:00
peter
86782a9b08
* ignore @ in Unit.@Proc
2003-10-21 18:17:40 +00:00
peter
96f9973b46
* taicpu_abstract.oper[] changed to pointers
2003-10-21 15:15:35 +00:00
peter
77c5f6485d
* fix vecnode code that caused to much register conflicts
2003-10-21 15:13:27 +00:00
peter
10f32e68cd
* fix check for register subscription of reference parameter
2003-10-20 19:29:35 +00:00
florian
05fcae577a
* some ppc stuff fixed
...
* memory leak fixed
2003-10-19 01:34:30 +00:00
Tomas Hajny
f70561922d
* Watcom patch by Wiktor Sywula
2003-10-18 09:16:45 +00:00
peter
0939085ab1
* commented out more obsolete constants
2003-10-17 15:08:34 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
63c5e8cfdf
+ __HIGH() to retrieve high value
2003-10-16 21:29:24 +00:00