sh.c (reg_class_from_letter): No longer const.
authorJ"orn Rennecke <joern.rennecke@superh.com>
Thu, 12 Dec 2002 17:11:13 +0000 (17:11 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 12 Dec 2002 17:11:13 +0000 (17:11 +0000)
commitec555f3273efb2947e0a1ed6bbe23d048a4c50a9
treedbf9c797639fc0b20546440999f16b2bed59edc2
parent95c0af870b3e3adbe8dab92be1759dada4c6848b
sh.c (reg_class_from_letter): No longer const.

* sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
(sh_register_move_cost): Add clause for SImode fp-fp moves.
Increase cost for moves involving multiple general purpose registers.
* sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
TARGET_FMOVD.
(HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
(enum reg_class reg_class_from_letter): No longer const.
(SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
REGCLASS_HAS_GENERAL_REG.
Handle SImode moves from/to fp registers.
! TARGET_SHMEDIA && TARGET_FMOVD.
(SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
* sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.

From-SVN: r60076
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md