Commit Graph

17863 Commits

Author SHA1 Message Date
Károly Balogh
68a25e154a Amiga/MorphOS: enabled resource support, to match AROS in features
git-svn-id: trunk@30565 -
2015-04-13 00:49:00 +00:00
nickysn
fe30b53e95 * use 16-bit operand types for call/jmp immediate on i8086 in taicpu.create_ot
git-svn-id: trunk@30563 -
2015-04-12 23:53:15 +00:00
nickysn
a25a906d56 * i8086 internal asm fixes for the 0324 and 0361 asm codes
git-svn-id: trunk@30562 -
2015-04-12 22:56:28 +00:00
nickysn
38c17305d3 - removed tf_smartlink_sections flags from the msdos target
git-svn-id: trunk@30561 -
2015-04-12 22:11:21 +00:00
florian
fa6bea9bbb * all the cg/hlcg routines take normally tcgint constants, so replace aint constants and casts in ncgset by tcgint ones
git-svn-id: trunk@30560 -
2015-04-12 20:32:37 +00:00
florian
4d01271944 * due to avr's harvard architecture, loads of code labels need to use the gs(...) macro
git-svn-id: trunk@30559 -
2015-04-12 20:29:13 +00:00
florian
1f20a52c85 * fix typo in comparison with constant code
git-svn-id: trunk@30556 -
2015-04-12 15:42:40 +00:00
florian
bd803769b8 * fix compilation
git-svn-id: trunk@30554 -
2015-04-12 14:58:41 +00:00
florian
9559dabe51 * function result is in r24:r25
git-svn-id: trunk@30549 -
2015-04-11 21:25:05 +00:00
florian
e34bd746ed * patch by Jeppe Johanse to take care of the fact that push is post-decrement on avr
git-svn-id: trunk@30548 -
2015-04-11 20:59:27 +00:00
florian
1ef7e36f3c * some fixes for handling parameters passed on the stack
git-svn-id: trunk@30545 -
2015-04-11 13:56:21 +00:00
florian
276d97f653 * generate better code for comparisons with constants
git-svn-id: trunk@30543 -
2015-04-11 13:52:29 +00:00
florian
e0b27e1688 * unified typing and ppu reading/writing of setdef fields regarding aint/asizeint
git-svn-id: trunk@30542 -
2015-04-11 11:36:01 +00:00
florian
4b7ae00620 * fixes several issues with parameter handling on avr
git-svn-id: trunk@30541 -
2015-04-11 11:13:20 +00:00
florian
03fa8336de o several avr fixes
* handle function result of FPC_MUL_WORD correctly
  * use mov ...,r1 to load a register with zero instead of clr ..., this might enable the register allocator to 
    coalesce these moves in the feature
  * use tst/dec instead of cpi/sub in the shifting loops, this reduces register pressure on r16 and higher

git-svn-id: trunk@30540 -
2015-04-11 11:08:01 +00:00
florian
315d7d9725 + do_spill_replace for avr
git-svn-id: trunk@30535 -
2015-04-10 22:14:36 +00:00
florian
f95d5e0de6 + support 8 locations in gen_load_cgpara_loc
git-svn-id: trunk@30534 -
2015-04-10 20:33:11 +00:00
florian
6c19c18bc9 + support 8 locations in splitparaloc64
git-svn-id: trunk@30533 -
2015-04-10 20:32:22 +00:00
nickysn
3dd914a7b9 + write the proper external symbol index in the omf FIXUPP records. WLink no
longer crashes when processing our obj files :)

git-svn-id: trunk@30528 -
2015-04-09 23:33:22 +00:00
nickysn
d8f04418be + write EXTDEF records in the omf output file
git-svn-id: trunk@30527 -
2015-04-09 23:27:45 +00:00
nickysn
fd9e0d7266 * i8086 binary writer fixes for asm codes 0320..0322
git-svn-id: trunk@30526 -
2015-04-09 23:10:47 +00:00
nickysn
db5276af61 * i8086 binary writer fixes for asm codes 0300..0302
git-svn-id: trunk@30525 -
2015-04-09 22:56:47 +00:00
nickysn
0aa8e9d829 + i8086 fixes in the binary writer for asm codes 0310 and 0311
git-svn-id: trunk@30524 -
2015-04-09 22:47:21 +00:00
nickysn
8597208ed9 * fixed emitting a 66h prefix for push/pop of segment registers on i8086 in the internal asm writer
git-svn-id: trunk@30523 -
2015-04-09 22:01:24 +00:00
florian
a4c7103033 * remove useless mov instructions
git-svn-id: trunk@30522 -
2015-04-09 21:57:02 +00:00
nickysn
ff20a3c7bc + support 16-bit addresses for codes 36..38 in the internal asm writer on i8086
git-svn-id: trunk@30521 -
2015-04-09 21:16:22 +00:00
florian
ef2e2c5033 * assign registers for parameters correctly, resolves #27804
git-svn-id: trunk@30520 -
2015-04-09 20:39:18 +00:00
florian
6a032bee1b * improved code generation for a_load_const_reg and a_op_const_reg
git-svn-id: trunk@30519 -
2015-04-09 20:38:19 +00:00
florian
061a1aacf3 * named class properly
git-svn-id: trunk@30518 -
2015-04-09 20:36:47 +00:00
florian
9af36c2257 * several fixes for spilling_get_operation_type
git-svn-id: trunk@30517 -
2015-04-09 20:33:40 +00:00
nickysn
8a831f4c7f * always clear segments and groups in the beginning of TOmfObjOutput.writeData, because the same objects is used for creating multiple object files
git-svn-id: trunk@30516 -
2015-04-09 15:42:29 +00:00
nickysn
f66d8cfb7f * create normal object files, instead of using the internal "ar" writer in TInternalAssembler.writetreesmart in case the af_needar flag is set on an internal assembler
git-svn-id: trunk@30515 -
2015-04-09 14:50:22 +00:00
nickysn
7ecb7f83e9 + create omf fixups for external symbols (external symbol index not set yet)
git-svn-id: trunk@30514 -
2015-04-09 13:56:55 +00:00
nickysn
e1ae2d9387 + create a symbol relocation for external symbols in TOmfObjData.writeReloc
git-svn-id: trunk@30512 -
2015-04-09 13:48:56 +00:00
nickysn
fb234e2149 + check record type in TOmfRecord_COMENT.DecodeFrom
git-svn-id: trunk@30511 -
2015-04-09 13:08:45 +00:00
nickysn
713f12f3f3 + implemented TOmfRecord_GRPDEF.DecodeFrom
git-svn-id: trunk@30510 -
2015-04-09 12:45:47 +00:00
Jonas Maebe
8fc562a2f8 * fixed def used for saving the result of fpc_setjmp() after r30497, fixes
cycle for x86-86 (mantis #27812)

git-svn-id: trunk@30506 -
2015-04-09 07:36:45 +00:00
Jonas Maebe
9079227c56 * don't give an internalerror when trying to prefetch a regvar or even
something without a location at all; it's a hint/optional operation,
    so if there's nothing to prefetch just don't do anything
    (mantis #27811)

git-svn-id: trunk@30502 -
2015-04-08 20:35:13 +00:00
Jonas Maebe
a8db5e3dfb * fixed alignment of widestring on win64 after llvm branch merge (should use
packrecords 4) (mantis #27806)

git-svn-id: trunk@30501 -
2015-04-08 19:08:43 +00:00
Jonas Maebe
6391794958 * fixed -Oodfa warnings
git-svn-id: trunk@30500 -
2015-04-08 19:08:39 +00:00
Jonas Maebe
af61923dc3 * don't write parameter attributes in procvardefs
git-svn-id: trunk@30499 -
2015-04-08 19:08:36 +00:00
Jonas Maebe
a8cefa8fcd - removed aggas.pas leftovers
git-svn-id: trunk@30498 -
2015-04-08 19:08:33 +00:00
Jonas Maebe
a674804869 * made fpc_setjmp() code generic and fixed it for llvm
git-svn-id: trunk@30497 -
2015-04-08 19:08:30 +00:00
nickysn
23b95cc291 + added classes for writing EXTDEF omf records
git-svn-id: trunk@30496 -
2015-04-08 14:13:35 +00:00
nickysn
470fb65e80 + implemented aasmcpu.process_ea for i8086
git-svn-id: trunk@30495 -
2015-04-08 12:54:09 +00:00
nickysn
76da1db832 + write all the public symbols in a PUBDEF record in the omf obj writer
git-svn-id: trunk@30492 -
2015-04-07 23:03:48 +00:00
nickysn
fb45d5e11b * fixed some off-by-1 errors in TOmfRecord_PUBDEF.EncodeTo
git-svn-id: trunk@30491 -
2015-04-07 23:02:32 +00:00
nickysn
c4a8f22bc9 + added classes for writing PUBDEF omf records
git-svn-id: trunk@30490 -
2015-04-07 22:18:46 +00:00
nickysn
35e008e44b * TOmfRelocation modified to build the omf FIXUP subrecord later, during
writeData, when the ObjSection indexes are available; now we fill the proper
  section/segment indexes, instead of hardcoded values.

git-svn-id: trunk@30489 -
2015-04-07 20:40:40 +00:00
nickysn
9e701454c6 + add group "dgroup", this time built from the ObjSectionList, instead of hardcoded
git-svn-id: trunk@30488 -
2015-04-07 19:53:08 +00:00