fpc/compiler/arm
masta 504a0ce0ca Fix for Mantis #22326
This fixes 64bit shifts on arm with a constant shift value of 0.

The old code would have emitted something like this
mov r0, r0, lsl #32
as 32 is an invalid shift value (and would be wrong anyway) the
assembler declined to assemble the produced source.

The new code will just not emit any code for a shift value of 0.

tests/test/tint642.pp now tests shl/shr 0 on 64 bit values.
tests/webtbs/tw22326.pp is also added as an additional test.

git-svn-id: trunk@21746 -
2012-07-01 08:09:00 +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 + support for nop, msr and mrs instructions 2009-01-26 14:18:42 +00:00
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 + support for nop, msr and mrs instructions 2009-01-26 14:18:42 +00:00
cgcpu.pas + also specify the parameter def when allocating a parameter via 2012-06-24 15:02:12 +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 + some generic changes preparing for darwin/arm support 2008-10-02 15:10:13 +00:00
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 * fixed ARM and MIPS compilation after r14912 2010-02-18 21:19:17 +00:00
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 * improved template with help from Mattias Gaertner 2006-08-28 20:29:04 +00:00
raarm.pas o patch by Jeppe Johansen to fix mantis #17472: 2010-12-24 15:54:39 +00:00
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 o added ARM VPFv2/VFPv3 support: 2009-12-03 22:46:30 +00:00
rarmnor.inc o added ARM VPFv2/VFPv3 support: 2009-12-03 22:46:30 +00:00
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 o added ARM VPFv2/VFPv3 support: 2009-12-03 22:46:30 +00:00
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