From: amylaar Date: Mon, 12 Sep 2005 13:24:11 +0000 (+0000) Subject: * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=c3c6d729977cfc152109432fe4512f22f2bc4aba;hp=267a6d2c39cd46dc533204456803c6e18588ec36;p=pf3gnuchains%2Fgcc-fork.git * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose registers for TARGET_SHMEDIA. (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union of GENERAL_REGS and FP_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104170 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27593d5124f..70eb9875500 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-09-12 J"orn Rennecke + + * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose + registers for TARGET_SHMEDIA. + (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename + GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union + of GENERAL_REGS and FP_REGS. + 2005-09-12 Bernd Schmidt * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem. diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 3d16f449504..306da7aa5db 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -1152,7 +1152,7 @@ extern char sh_additional_register_names[ADDREGNAMES_SIZE] \ || GENERAL_REGISTER_P (REGNO)) \ : (MODE) == V4SFmode \ ? ((FP_REGISTER_P (REGNO) && ((REGNO) - FIRST_FP_REG) % 4 == 0) \ - || (! TARGET_SHMEDIA && GENERAL_REGISTER_P (REGNO))) \ + || GENERAL_REGISTER_P (REGNO)) \ : (MODE) == V16SFmode \ ? (TARGET_SHMEDIA \ ? (FP_REGISTER_P (REGNO) && ((REGNO) - FIRST_FP_REG) % 16 == 0) \ @@ -1341,6 +1341,7 @@ enum reg_class DF_REGS, FPSCR_REGS, GENERAL_FP_REGS, + GENERAL_DF_REGS, TARGET_REGS, ALL_REGS, LIM_REG_CLASSES @@ -1365,6 +1366,7 @@ enum reg_class "DF_REGS", \ "FPSCR_REGS", \ "GENERAL_FP_REGS", \ + "GENERAL_DF_REGS", \ "TARGET_REGS", \ "ALL_REGS", \ } @@ -1402,7 +1404,9 @@ enum reg_class /* FPSCR_REGS: */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00800000 }, \ /* GENERAL_FP_REGS: */ \ - { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0102ff00 }, \ + { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x03020000 }, \ +/* GENERAL_DF_REGS: */ \ + { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x0302ff00 }, \ /* TARGET_REGS: */ \ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000ff }, \ /* ALL_REGS: */ \