* insert it statements for arm thumb2 in syscall assembler procedures

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25342 3ad0048d-3df7-0310-abae-a5850022a9f2
* prevent generation of mul/mla statements with illegal registers

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25343 3ad0048d-3df7-0310-abae-a5850022a9f2
* arm thumb2 does not understand tst reg1,reg2,lsl reg3

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25344 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix spilling of vfp instructions
* spelling mistake fixed

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25345 3ad0048d-3df7-0310-abae-a5850022a9f2
* arm thumb2 supports only left shifted index registers up to 3 bits

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25346 3ad0048d-3df7-0310-abae-a5850022a9f2
* do not split statements following A_IT* instructions on arm thumb2 when inserting constant pools

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25347 3ad0048d-3df7-0310-abae-a5850022a9f2
* do not do the RedundantMovProcess optimization when the involved registers are r13 or r15 and if the target is arm thumb(2)

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25348 3ad0048d-3df7-0310-abae-a5850022a9f2
* using r13 and r15 is on arm thumb2 also forbidden under certain conditions for the instructions A_SUB,A_AND,A_BIC,A_EOR

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25349 3ad0048d-3df7-0310-abae-a5850022a9f2
* do not use r13/r15 for certain data processing operations
* correct OP_AND with certain types of constants

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25350 3ad0048d-3df7-0310-abae-a5850022a9f2
* first_moddivint should not change the return type if div/mul/add is used
* use create_internal when creating internally add nodes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25351 3ad0048d-3df7-0310-abae-a5850022a9f2