* set PIC defines earlier, resolve #25788

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26924 3ad0048d-3df7-0310-abae-a5850022a9f2
Added support for X,Y,and Z register aliases plus low/high forms, and post-incrementation in AVR assembler reader.
Cleaned up parameter and funcretloc information generation in AVR paramanger, and made it closer to GCC's calling convention.
Fixed a number of codegenerator bugs generating invalid or broken instructions: CP operands were swapped, a number of instructions had immediate operands, and stack frame epilogue wasn't complete.
Added a bunch of peephole optimizations that clears the generated code up a lot.

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