fpc/compiler/arm
florian 45c70ec81c * patch by Nico Erfurth: Support the usage of BIC instead of AND on ARM
BIC clears the specified bits, while AND keeps them. The usage of BIC
allows a broader range of shifterconsts to be used on the ARM cpu, often
saving a cycle.

Previously code like:
Data:=Data and $FFFFFF00

would result in

mvn r1, #255
and r0, r0, r1

This patch changes this to

bic r0, r0, #255

git-svn-id: trunk@21510 -
2012-06-06 19:45:26 +00:00
..
aasmcpu.pas * patch by Nico Erfurth: Handle BIC properly in taicpu.spilling_get_operation_type 2012-06-06 19:44:53 +00:00
agarmgas.pas + generic implementation of ReplaceForbiddenAsmSymbolChars() instead 2012-04-11 18:01:57 +00:00
aoptcpu.pas * patch by Nico Erfurth: Fix for MovStrMov Peephole optimizer on ARM 2012-06-06 19:44:20 +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 * patch by Nico Erfurth: Support the usage of BIC instead of AND on ARM 2012-06-06 19:45:26 +00:00
cpubase.pas * patch by Nico Erfurth: 2012-05-17 08:03:51 +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 * use correct result registers for in64 results on armbe, resolves #21731 2012-04-20 18:07:06 +00:00
cpupi.pas * use r7 instead of r11 as frame pointer on Darwin/iOS, and make sure r7 2012-03-29 20:54:33 +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 for the ARM hard float EABI on Linux (patch by Peter Green): 2012-03-29 20:50:09 +00:00
narmmat.pas * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 2012-05-13 12:33:10 +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 + support for REV and several other ARMv6/ARMv6T2+ opcodes (mantis #21888) 2012-05-13 12:14:26 +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