florian
8917c66151
* AVR: use CP ...,r1 instead of CPI ...,0 to enable all registers being used as first operand
...
git-svn-id: trunk@44006 -
(cherry picked from commit 08c2afb0a4
)
2021-10-24 12:40:37 +02:00
florian
a9bbcccb5d
+ AVR: GetDefaultZeroReg and GetDefaultTmpReg
...
git-svn-id: trunk@43985 -
(cherry picked from commit 26eae3672b
)
# Conflicts:
# compiler/avr/cpubase.pas
2021-10-24 12:40:37 +02:00
florian
b241fec17b
* avr directly encodes constant shifts of 64 bit values
...
git-svn-id: trunk@43348 -
(cherry picked from commit f61207f1cc
)
2021-10-24 12:40:37 +02:00
florian
b9417cc51e
* missing skiplabel added, resolves #33423
...
git-svn-id: trunk@38520 -
2018-03-13 18:45:32 +00:00
florian
a66016026b
* handle bitpacked booleans more efficiently
...
git-svn-id: trunk@38509 -
2018-03-12 22:05:34 +00:00
florian
cd41312a8f
* fixes not(<qwordbool>) on arm
...
* fixes not(<(q/l)wordbool>) on avr
git-svn-id: trunk@38263 -
2018-02-16 22:38:35 +00:00
Jonas Maebe
10b2ea3b1b
* use handle_locjump() instead of local inlined version
...
git-svn-id: trunk@31430 -
2015-08-27 18:28:52 +00:00
florian
cf64e05c6f
* use generic mod/div code for avr
...
git-svn-id: trunk@31194 -
2015-07-05 17:05:43 +00:00
florian
e559b9e3d6
+ tavrshlshrnode.second_integer, does not convert the right operand to a bigger type, resolves #27841
...
git-svn-id: trunk@30579 -
2015-04-13 20:57:37 +00:00
Jonas Maebe
e7ac66a6c4
* removed nested comments
...
git-svn-id: trunk@28457 -
2014-08-18 22:34:35 +00:00
florian
d2aa35e9de
* throw an internal error if code generation depends on expectloc but expectloc and real loc do not match
...
git-svn-id: trunk@22073 -
2012-08-13 15:02:55 +00:00
Jonas Maebe
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
...
future use by high level code generator targets
o this in turn required that all a_load*_loc* methods are called via
hlcg rather than via cg, since a location can be a subsetref/reg and
and those are no longer handled in tcg
o that then required moving several force_location_* routines into
thlcg because they use a_load_loc*, but did not take tdef size
parameters (which are required by the thlcg a_load_loc* routines)
o the only practical consequence is that from now on, you have to
use hlcg.location_force_mem/reg() (fpureg not yet) and
hlcg.gen_load_loc_cgpara() instead of the removed versions from ncgutil,
and hlcg.a_load*loc*() instead of cg.a_load*loc* if a subsetref/reg
might be involved
git-svn-id: trunk@21287 -
2012-05-13 12:33:10 +00:00
florian
26ce3cef00
* compilation fixes
...
* completed a_load_ref_reg
+ implemented procedure entry/exit code generation
+ implemented a_load_reg_ref
git-svn-id: trunk@17009 -
2011-02-26 20:08:23 +00:00
florian
60169d34dc
* fixed compilation of AVR compiler
...
git-svn-id: trunk@13342 -
2009-06-27 19:31:24 +00:00
florian
eaba28bbf1
* less code commented
...
git-svn-id: trunk@12792 -
2009-02-25 19:41:30 +00:00
florian
43f3b72139
* continued to play with avr
...
git-svn-id: trunk@11584 -
2008-08-15 13:52:54 +00:00