1 2013-12-11 H.J. Lu <hongjiu.lu@intel.com>
3 * combine.c (subst): Pass subreg byte to REG_CANNOT_CHANGE_MODE_P.
4 (simplify_set): Likewise.
5 * emit-rtl.c (validate_subreg): Likewise.
6 * recog.c (register_operand): Likewise.
7 * rtlanal.c (simplify_subreg_regno): Likewise.
8 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Add SUBREG_BYTE
9 and pass it to CANNOT_CHANGE_MODE_CLASS.
10 * regcprop.c (mode_change_ok): Pass unknown subreg byte to
11 REG_CANNOT_CHANGE_MODE_P.
12 * reginfo.c (record_subregs_of_mode): Pass unknown subreg byte
13 to CANNOT_CHANGE_MODE_CLASS.
14 * postreload.c (reload_cse_simplify_set): Pass subreg byte to
15 CANNOT_CHANGE_MODE_CLASS.
16 (reload_cse_simplify_operands): Likewise.
17 * reload.c (push_reload): Likewise.
18 * reload1.c (choose_reload_regs): Pass subreg byte to
19 REG_CANNOT_CHANGE_MODE_P.
20 (inherit_piecemeal_p): Pass unknown subreg byte to
21 REG_CANNOT_CHANGE_MODE_P.
22 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Add
23 and ignore subreg byte.
24 * config/alpha/alpha.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
25 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
26 * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
27 * config/m32c/m32c.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
28 * config/mep/mep.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
29 * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
30 * config/msp430/msp430.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
31 * config/pa/pa32-regs.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
32 * config/pa/pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
33 * config/pdp11/pdp11.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
34 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
35 * config/s390/s390.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
36 * config/score/score.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
37 * config/sh/sh.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
38 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
39 * config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
40 * config/i386/i386-protos.h (ix86_cannot_change_mode_class): Add
41 an unsigned int argument.
42 * config/i386/i386.c (ix86_cannot_change_mode_class): Take subreg
43 byte. Return true only if subreg byte is non-zero.
44 * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Add SUBREG_BYTE
45 and pass it to ix86_cannot_change_mode_class.
46 * doc/rtl.texi: Add subreg_byte to CANNOT_CHANGE_MODE_CLASS.
47 * doc/tm.texi.in: Likewise.
48 * doc/tm.texi: Regenerated.