------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-14 21:31 ------- Subject: Bug 23868
CVSROOT: /cvs/gcc Module name: gcc Branch: sh-elf-4_1-branch Changes by: [EMAIL PROTECTED] 2005-09-14 21:30:58 Modified files: gcc : ChangeLog builtins.c mode-switching.c target-def.h target.h targhooks.c targhooks.h Log message: 2005-09-14 J"orn Rennecke <[EMAIL PROTECTED]> Kaz Kojima <[EMAIL PROTECTED]> PR middle-end/23868 http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00129.html * target.h (struct gcc_target): Add new member calls.apply_result_mode. * target-def.h (TARGET_APPLY_RESULT_MODE): Define. (TARGET_CALLS): Add TARGET_APPLY_RESULT_MODE. * targhooks.c (regs.h, hard-reg-set.h): Include. (apply_result_mode_1reg, apply_result_mode_scanreg): New functions. * targhooks.h (apply_result_mode_1reg): Declare. (apply_result_mode_scanreg): Likewise. * buitins.c (apply_result_size): Use targetm.apply_result_mode. * doc/tm.texi (TARGET_APPLY_RESULT_MODE): Document. * mode-switching.c (create_pre_exit): Cope with USEs made by builtin_return which are wider than the last function result USE. 2005-09-14 J"orn Rennecke <[EMAIL PROTECTED]> PR middle-end/23868 http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00129.html * sh.c (sh_apply_result_mode): New function. (TARGET_APPLY_RESULT_MODE): Redefine. * sh.md (UNSPEC_CALL_RESULT): New constant. (untyped_call_result): New pattern. (untyped_call): Use it to make function result assignments visible. Remove expander predicate. (untyped_return): New pattern. * sh.h (HARD_REGNO_MODE_OK): Fix handling of DCmode. (LEGITIMIZE_RELOAD_ADDRESS): For TARGET_SHMEDIA32, reload inside of 64 bit reg+reg address as needed. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.8142.2.29&r2=2.8142.2.30 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.450.2.3&r2=1.450.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/mode-switching.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.5.2.2&r2=2.5.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.117.2.5&r2=1.117.2.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.129.2.4&r2=1.129.2.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/targhooks.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.38.4.3&r2=2.38.4.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/targhooks.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.27.4.3&r2=2.27.4.4 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23868