Convert all direct memory references to use LO_SUM and remove machdep hack that used to do this. Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info): New functions. (c4x_check_legit_addr): Remove USE and PLUS, allow LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases. (c4x_legitimize_address): Penalise SYMBOL_REF, LABEL_REF, and CONST cases. Add LO_SUM. (c4x_print_operand): Modified 'C' and 'R' cases for calls. Added 'U' case. Remove dependence on SYMBOL_REF_FLAG. (c4x_print_operand_address): Handle LO_SUM. (c4x_scan_for_ldp): Delete. Hooray! (c4x_process_after_reload): Remove call to c4x_scan_for_ldp. Split all insns. (c4x_immed_int_constant): Renamed from c4x_int_constant. All callers changed. (c4x_immed_float_constant): Renamed from c4x_float_constant. All callers changed. (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF, and CONST. (c4x_U_constraint, symbolic_operand): New functions. (src_operand): Allow 'I' constants in HImode. Allow LO_SUM, disable SYMBOL_REF, LABEL_REF, and CONST. (lsrc_operand, tsrc_operand): Call src_operand instead of general_operand. (c4x_operand_subword): Update comments. * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro. (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST, plus HIGH and LO_SUM for the C40. (ENCODE_SECTION_INFO): Define macro. (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New prototypes. (PREDICATE_CODES): Add symbolic_operand. * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call c4x_emit_move_sequence. (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL to avoid symbol references. (all patterns with g constraint): Replace 'g' constraint with 'rIm'. (set_high): Renamed from set_high_use. (set_lo_sum): Renamed from set_ior_lo_use. (all call patterns): Make MEM explicit in call address operands. Modified output templates to use 'U' modifier. From-SVN: r24842
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
etc | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libchill | Loading commit data... | |
libf2c | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++ | Loading commit data... | |
texinfo | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |