fpc/compiler/arm
masta dbf0404fb0 More consolidation of OP_SHL/SHR/ROR/SAR in ARM CodeGen
This removes the duplications in a_op_reg_reg_reg_checkoverflow.
OP_ROL stays seperate because it needs some special treatment again.

The code for OP_ROL was changed, previously it generated:
mov tempreg, #32
sub src1, tempreg, src1
mov dst, src2, ror src1

This would trash src1, which MIGHT be a problem, but i'm not totally
sure. But the mov/sub was replaced with rsb, so the new code looks like
this.

rsb tempreg, src1, #32
mov dst, src2, ror tempreg

If src1 gets freed afterwards the regallocator should be able to change
that into:

rsb src1, src1, #32
mov dst, src2, ror src1

git-svn-id: trunk@21804 -
2012-07-06 15:01:31 +00:00
..
aasmcpu.pas Fixed postfix check in taicpu.is_same_reg_move 2012-06-21 20:12:25 +00:00
agarmgas.pas Fix ARM-Assembler output for RRX-Shifterops 2012-06-23 20:36:16 +00:00
aoptcpu.pas Add LsrAndLsr Peephole Optimizer for ARM 2012-06-20 12:39:19 +00:00
aoptcpub.pas * typo fixed 2012-03-11 08:24:44 +00:00
aoptcpuc.pas
aoptcpud.pas
armatt.inc + patch by Bernd to add the push/pop mnemonic for arm/thumb-2, resolves #22041 2012-05-15 18:52:09 +00:00
armatts.inc + patch by Bernd to add the push/pop mnemonic for arm/thumb-2, resolves #22041 2012-05-15 18:52:09 +00:00
armins.dat + patch by Bernd to add the push/pop mnemonic for arm/thumb-2, resolves #22041 2012-05-15 18:52:09 +00:00
armnop.inc
armop.inc + patch by Bernd to add the push/pop mnemonic for arm/thumb-2, resolves #22041 2012-05-15 18:52:09 +00:00
armreg.dat + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
armtab.inc
cgcpu.pas More consolidation of OP_SHL/SHR/ROR/SAR in ARM CodeGen 2012-07-06 15:01:31 +00:00
cpubase.pas Introduce split_into_shifter_const to ARM-Code Generator 2012-06-18 16:59:19 +00:00
cpuinfo.pas + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
cpunode.pas + take advantage of the mla instruction when calculating array offsets 2012-05-23 20:48:26 +00:00
cpupara.pas + also specify the parameter def when allocating a parameter via 2012-06-24 15:02:12 +00:00
cpupi.pas * moved definition of maxcpuregister and tcpuregisterset from cgbase to 2012-06-15 18:24:35 +00:00
cputarg.pas
hlcgcpu.pas * create/destroy also the high level code generator for all architectures, 2011-08-20 07:21:16 +00:00
itcpugas.pas
narmadd.pas + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
narmcal.pas + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
narmcnv.pas * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 2012-05-13 12:33:10 +00:00
narmcon.pas
narminl.pas Support ABS intrinsic on ARM 2012-06-21 20:12:36 +00:00
narmmat.pas Fix for Mantis #22326 2012-07-01 08:09:00 +00:00
narmmem.pas + take advantage of the mla instruction when calculating array offsets 2012-05-23 20:48:26 +00:00
narmset.pas * converted tcgcasenode.pass_generate_code() to hlcgobj 2011-08-20 07:48:33 +00:00
pp.lpi.template
raarm.pas
raarmgas.pas * moved definition of maxcpuregister and tcpuregisterset from cgbase to 2012-06-15 18:24:35 +00:00
rarmcon.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rarmdwa.inc
rarmnor.inc
rarmnum.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rarmrni.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rarmsri.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rarmsta.inc
rarmstd.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rarmsup.inc + support for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
rgcpu.pas + add for MLA the same register interferences as for MUL 2012-05-24 19:14:58 +00:00