xtensa: don't mess with argument in a7 in CALL0 ABI

Otherwise prologue ends with frame pointer in a7 instead of a15. CALL0
ABI doesn't need this special care because a7 is an ordinary register in
that ABI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: use correct guards on CRT_CALL_STATIC_FUNCTION definition

CRT_CALL_STATIC_FUNCTION is used in libgcc, so it needs to be defined
depending on __XTENSA_*_ABI__, not TARGET_WINDOWED_ABI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: move callee-saved register check to xtensa_call_save_reg

Don't reserve extra stack space with windowed ABI. Save A0 when
profiling is enabled.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: xtensa: fix _mcount call for CALL0 ABI

_mcount is not specified, let's call it with return address in a10, and
require it to preserve all registers.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
xtensa: replace #if/#ifdef with if where possible

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>