* config/xtensa/xtensa.md (fix_return_addr): Remove.
commit57ffde164509a9e54b5b3499030aa191c2bc7a66
authorbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Dec 2007 22:35:59 +0000 (20 22:35 +0000)
committerbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Dec 2007 22:35:59 +0000 (20 22:35 +0000)
tree1f8ed8887da3e944685f3aeb71c9a3a4d12fcef4
parent625e59f4620f41d79038adfc09c17a76f09eee0d
* config/xtensa/xtensa.md (fix_return_addr): Remove.
* config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
(xtensa_trampoline_template): New.
* config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
(xtensa_return_addr): Expand to standard Xtensa insns instead of
fix_return_addr.  Get high bits from a local label.
(xtensa_trampoline_template): New function with code moved from
TRAMPOLINE_TEMPLATE in xtensa.h.  Use L32R instead of CALL0 except
when using CONST16 or absolute-mode literals.
(xtensa_initialize_trampoline): New function with code moved from
INITIALIZE_TRAMPOLINE in xtensa.h.  Use different offsets depending
on which trampoline version is used.
* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
* config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
(MIN_FRAME_SIZE): Moved to xtensa.c.
(TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
(TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
(INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
* config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
(__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
helper when not using the CALL0 ABI.  Change .Lmul_mulsi3 to match.
* config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
* config/xtensa/ieee754-sf.S (__mulsf3): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131108 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/xtensa/ieee754-df.S
gcc/config/xtensa/ieee754-sf.S
gcc/config/xtensa/lib1funcs.asm
gcc/config/xtensa/lib2funcs.S
gcc/config/xtensa/xtensa-protos.h
gcc/config/xtensa/xtensa.c
gcc/config/xtensa/xtensa.h
gcc/config/xtensa/xtensa.md