florian
|
23722a2f95
* correctly negate 8 bit values on avr, resolves #33322
|
7 years ago |
florian
|
311bcd4c08
* do not destroy flags while clearing R1, resolves #33170
|
7 years ago |
florian
|
291ee4b562
* clear r1 (and save/restore) in interrupt routines on avr
|
7 years ago |
florian
|
cb087279d6
* do not generate an andi if the constant is 255
|
7 years ago |
florian
|
7817102727
* patch by Christo Crause to implement 8 bit multiplications for "mul-less" avr types, resolves issue #31925
|
7 years ago |
florian
|
9ef646e3c5
* fix avr for new GetNextReg behaviour
|
7 years ago |
nickysn
|
db09759763
* also integrated the getnextreg() implementation for 8-bit and 16-bit alus from
|
8 years ago |
nickysn
|
cf28b202eb
* integrated the getintregister() implementation for 8-bit and 16-bit alus from
|
8 years ago |
nickysn
|
ddba821561
* GetNextReg(), used by 16-bit and 8-bit code generators (i8086 and avr) moved
|
8 years ago |
nickysn
|
3c96090d3c
+ optimized avr code generation for shr by shiftcount=size*8-1 and sar by
|
8 years ago |
nickysn
|
5138d4e067
* fixed avr multiplication after r36344
|
8 years ago |
florian
|
0954e09834
* correctly handle 16 bit signed operations on AVRs without mul instruction, resolves #31036
|
8 years ago |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 years ago |
florian
|
0882c13cb7
* do not move dest to a new register if not needed in tcgavr.g_concatcopy
|
8 years ago |
Jonas Maebe
|
0afbe85aab
* various memory reference alignment fixes
|
9 years ago |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 years ago |
Jeppe Johansen
|
159c28eca8
Fix AVR comparison with zero.
|
9 years ago |
Jeppe Johansen
|
5ec4d38231
Add support for ram-less AVR chips and simultanously optimize flash/ram size the initfinal calling sequence.
|
9 years ago |
Jeppe Johansen
|
14020b044c
Fix bug in gen_load_cgpara_loc for 64bit registers on 8bit architectures.
|
9 years ago |
Jeppe Johansen
|
1a285a7d24
Fixed an off-by-one error in a_load_const_cgpara which caused some problems.
|
9 years ago |
Jeppe Johansen
|
7fc3ed2644
Fix a broken OpCp2Op optimization. It needed the added NR_DEFAULTFLAGS allocation to not break subsequent optimizations.
|
9 years ago |
florian
|
af6ffd751f
+ generate optimized code for shifts/rotates by constants
|
10 years ago |
Jeppe Johansen
|
03880c2f74
Added some peephole optimizations, and fixed generic unconditional jump optimizations, for AVR.
|
10 years ago |
florian
|
9a5b458d4e
* allocate registers properly before icall
|
10 years ago |
florian
|
5c8d0d87cd
o better code generation for avr:
|
10 years ago |
florian
|
1969abec77
* improved code generation in a_op_const_reg_internal and a_op_const_reg_reg
|
10 years ago |
florian
|
7f1585b99a
* do not save registers for subroutines which never return
|
10 years ago |
florian
|
9e51283ae0
+ initial a_op_const_reg_reg and a_op_reg_reg_reg implementations to generate optimized 16 Bit multiplications on avr
|
10 years ago |
florian
|
8b7a449cf1
* clear r1 after 8 Bit multiplication, resolves #27838
|
10 years ago |
florian
|
4d01271944
* due to avr's harvard architecture, loads of code labels need to use the gs(...) macro
|
10 years ago |