florian
610fa89484
+ basic avr linker script
...
git-svn-id: branches/avr@17292 -
2011-04-10 18:43:04 +00:00
florian
359633bbdc
* initial atmega128 reg. definition and startup code implementation
...
git-svn-id: branches/avr@17291 -
2011-04-10 18:42:18 +00:00
florian
7b8f3a61d3
+ implemented tcgavr.g_flags2reg
...
git-svn-id: branches/avr@17290 -
2011-04-10 18:39:51 +00:00
florian
ed8d652398
+ implemened a_cmp_reg_reg_label
...
git-svn-id: branches/avr@17289 -
2011-04-10 18:39:07 +00:00
florian
5fd4bb70de
* started to implement ref.base parameter for normalize_ref
...
git-svn-id: branches/avr@17288 -
2011-04-10 18:38:06 +00:00
florian
a0b0b43d0c
+ implemented tcgavr.a_jmp_name
...
* updated todos
git-svn-id: branches/avr@17287 -
2011-04-10 18:37:26 +00:00
florian
8d960cb608
+ implementation of shifting operations for avr
...
* handle shl/shr operand size correctly
git-svn-id: branches/avr@17109 -
2011-03-09 19:48:01 +00:00
florian
f5694da7bc
* OS_INT => OS_32
...
git-svn-id: branches/avr@17108 -
2011-03-09 19:47:10 +00:00
florian
d4ff3b2eb6
* forgotten file in previous commit
...
git-svn-id: branches/avr@17107 -
2011-03-09 19:46:42 +00:00
florian
c7e6d07ff0
* fix tavraddnode.second_cmp
...
* optimized register usage
+ implemented concatcopy for len<16
git-svn-id: branches/avr@17106 -
2011-03-09 19:46:05 +00:00
florian
8f343078fa
* optimize moves into movw if possible
...
* use ldd instruction if possible
git-svn-id: branches/avr@17105 -
2011-03-09 19:42:15 +00:00
florian
5f06130095
* fixed objpas compilation for CPUs with 16 Bit addresses
...
git-svn-id: branches/avr@17104 -
2011-03-09 19:41:36 +00:00
florian
de2d504f15
+ dedicated getaddressregister so address registers are allocated with size OS_ADDR
...
* allocate volatile register first
* start with R8 so allocation might be pair wise
git-svn-id: branches/avr@17103 -
2011-03-09 19:40:57 +00:00
florian
a6464c36e3
* push reads the register
...
* concatcopy for len>=16 implemented
git-svn-id: branches/avr@17102 -
2011-03-09 19:40:07 +00:00
florian
1cc956afc8
+ implements tcgavr.a_loadaddr_ref_reg
...
git-svn-id: branches/avr@17101 -
2011-03-09 19:38:59 +00:00
florian
0302c7181e
* AVR: use LDS/LD and STS/ST depending on the reference
...
git-svn-id: branches/avr@17052 -
2011-02-27 21:13:25 +00:00
florian
a178f34ab3
+ avr processor type information
...
git-svn-id: branches/avr@17051 -
2011-02-27 21:13:07 +00:00
florian
86f587b02f
+ added more avr instructions
...
git-svn-id: branches/avr@17050 -
2011-02-27 21:12:19 +00:00
florian
c0b6f9b0b0
* simplify Get/PutPtrUInt
...
git-svn-id: branches/avr@17049 -
2011-02-27 21:12:00 +00:00
florian
e95bf26148
* avr stackframe generation improved
...
git-svn-id: branches/avr@17048 -
2011-02-27 21:11:40 +00:00
florian
9234486a42
* fixed compilation of assembler helpers
...
git-svn-id: branches/avr@17047 -
2011-02-27 21:11:03 +00:00
florian
53ee505d84
* fixed spilling
...
* fixed register assignment for instructions requiring a register>R15
git-svn-id: branches/avr@17046 -
2011-02-27 21:10:31 +00:00
florian
93e72b7e8a
* fixed normalize_ref
...
git-svn-id: branches/avr@17045 -
2011-02-27 21:09:41 +00:00
florian
88b0db90a6
* use correct sizes when getting additional registers for 64 bit values
...
git-svn-id: branches/avr@17044 -
2011-02-27 21:09:11 +00:00
florian
d060e199f4
* 64 bit comparisations fixed
...
git-svn-id: branches/avr@17043 -
2011-02-27 21:08:44 +00:00
florian
b6530f253a
* fixed reference writing for avr
...
git-svn-id: branches/avr@17042 -
2011-02-27 21:07:25 +00:00
florian
b870a6eff5
* started to fix parameter passing
...
* fixed entry/exit code generation
git-svn-id: branches/avr@17041 -
2011-02-27 21:05:53 +00:00
florian
26415e9903
* as avr doesn't like $ in symbols, use ReplaceForbiddenChars to replace them
...
git-svn-id: branches/avr@17040 -
2011-02-27 21:04:18 +00:00
florian
dc0638c4d2
* corrected volatile registers for avr
...
git-svn-id: branches/avr@17039 -
2011-02-27 21:03:28 +00:00
florian
7b9276ae8a
+ implementation of avr rtl helpers
...
+ avr: fixed writing of constants in assembler
* avr: fixed reading of constants in assembler
* avr: determine used registers at procedure exit properly
* changed project name to ppavr
git-svn-id: branches/avr@17032 -
2011-02-26 21:04:56 +00:00
florian
ad9956022c
* don't omit stackframe on avr for assembler routines
...
git-svn-id: branches/avr@17031 -
2011-02-26 21:02:50 +00:00
florian
f255b1103b
* fix parameter names of fpc_shortstr_qword and fpc_shortstr_int64 implementation
...
git-svn-id: branches/avr@17030 -
2011-02-26 21:02:02 +00:00
florian
0bc3ec2b8a
* fix headers of fpc_mul helpers
...
git-svn-id: branches/avr@17029 -
2011-02-26 21:01:27 +00:00
florian
acac3ce37c
* dummy fix for concatcopy
...
git-svn-id: branches/avr@17028 -
2011-02-26 21:00:58 +00:00
florian
4bb9407f72
* remove usage of makeregsize on avr
...
git-svn-id: branches/avr@17027 -
2011-02-26 21:00:43 +00:00
florian
cb003b631b
* use helper for dword*dword if needed
...
git-svn-id: branches/avr@17026 -
2011-02-26 20:59:41 +00:00
florian
726b24c591
* (d)allocallcpuregisters must not handle fpu registers on avr
...
git-svn-id: branches/avr@17025 -
2011-02-26 20:59:09 +00:00
florian
f419966f06
+ generic second_int_to_bool, depends on OP_OR setting flags
...
git-svn-id: branches/avr@17024 -
2011-02-26 20:58:48 +00:00
florian
27f1abb58b
* clean up and nicer todos
...
git-svn-id: branches/avr@17023 -
2011-02-26 20:58:13 +00:00
florian
2e22090451
* ifdef'ed textrec and filerec usage completely depending on the features set
...
git-svn-id: branches/avr@17022 -
2011-02-26 20:57:09 +00:00
florian
b4d4d4b208
* compilation fix
...
git-svn-id: branches/avr@17021 -
2011-02-26 20:56:36 +00:00
florian
d5455cf6ac
+ software multiplication support for OS_16,OS_S16,OS_32,OS_S32
...
git-svn-id: branches/avr@17020 -
2011-02-26 20:33:01 +00:00
florian
7a05158cd1
* rebase on trunk, I should have first committed and then branched ...
...
git-svn-id: branches/avr@17019 -
2011-02-26 20:31:55 +00:00
florian
5abdfb6f7e
* aint -> asizeint changes
...
git-svn-id: trunk@17018 -
2011-02-26 20:16:14 +00:00
florian
fcd3872d88
+ introduction of tcgint
...
git-svn-id: trunk@17017 -
2011-02-26 20:15:53 +00:00
florian
ef699b1864
+ avr flag and condition handling
...
git-svn-id: trunk@17016 -
2011-02-26 20:15:03 +00:00
florian
ca76476cfa
* avr needs div helper
...
git-svn-id: trunk@17015 -
2011-02-26 20:14:18 +00:00
florian
db2600d40b
+ first primitive concatcopy implementation
...
+ implemented op_const_reg and load_const_reg
+ implemented op_reg_reg
* set register info values correctly
git-svn-id: trunk@17014 -
2011-02-26 20:13:19 +00:00
florian
4f82149dbd
* aint -> asizeint change
...
git-svn-id: trunk@17013 -
2011-02-26 20:12:03 +00:00
florian
c2f04796b9
+ only include softfpu if FPUNONE is not set
...
git-svn-id: trunk@17012 -
2011-02-26 20:10:49 +00:00