]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.c (enum rs6000_reload_reg_type): Add new fields to the reg_addr array that...
authorMichael Meissner <meissner@gcc.gnu.org>
Thu, 17 Oct 2013 19:12:57 +0000 (19:12 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Thu, 17 Oct 2013 19:12:57 +0000 (19:12 +0000)
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
fields to the reg_addr array that describes the valid addressing
mode for any register, general purpose registers, floating point
registers, and Altivec registers.
(FIRST_RELOAD_REG_CLASS): Likewise.
(LAST_RELOAD_REG_CLASS): Likewise.
(struct reload_reg_map_type): Likewise.
(reload_reg_map_type): Likewise.
(RELOAD_REG_VALID): Likewise.
(RELOAD_REG_MULTIPLE): Likewise.
(RELOAD_REG_INDEXED): Likewise.
(RELOAD_REG_OFFSET): Likewise.
(RELOAD_REG_PRE_INCDEC): Likewise.
(RELOAD_REG_PRE_MODIFY): Likewise.
(reg_addr): Likewise.
(mode_supports_pre_incdec_p): New helper functions to say whether
a given mode supports PRE_INC, PRE_DEC, and PRE_MODIFY.
(mode_supports_pre_modify_p): Likewise.
(rs6000_debug_vector_unit): Rearrange the -mdebug=reg output to
print the valid address mode bits for each mode.
(rs6000_debug_print_mode): Likewise.
(rs6000_debug_reg_global): Likewise.
(rs6000_setup_reg_addr_masks): New function to set up the address
mask bits for each type.
(rs6000_init_hard_regno_mode_ok): Use memset to clear arrays.
Call rs6000_setup_reg_addr_masks to set up the address mask bits.
(rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
PRE_MODIFY are supported.
(rs6000_output_move_128bit): Change to use {src,dest}_vmx_p for altivec
registers, instead of {src,dest}_av_p.
(rs6000_print_options_internal): Tweak the debug output slightly.

From-SVN: r203791

gcc/ChangeLog

index 2464c27609bb57924e26b45839f0198dac8000dd..0c53f55f4bcff4700763f8c39cb12131d3556109 100644 (file)
@@ -1,4 +1,4 @@
-2013-10-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        * config/rs6000/rs6000.c (enum rs6000_reload_reg_type): Add new
        fields to the reg_addr array that describes the valid addressing
@@ -29,6 +29,8 @@
        (rs6000_legitimate_address_p): Use mode_supports_pre_incdec_p and
        mode_supports_pre_modify_p to determine if PRE_INC, PRE_DEC, and
        PRE_MODIFY are supported.
+       (rs6000_output_move_128bit): Change to use {src,dest}_vmx_p for altivec
+       registers, instead of {src,dest}_av_p.
        (rs6000_print_options_internal): Tweak the debug output slightly.
 
 2013-10-17  Uros Bizjak  <ubizjak@gmail.com>