ia64.md (*movti_internal): C output template extracted to ia64.c.
* config/ia64/ia64.md (*movti_internal): C output template extracted to ia64.c. (*movti_internal_reg): Delete. (reload_inti, reload_outti): Use the correct mode on operand 2 in the first place, don't fix it up in the output template. (movtf, reload_ointf, reload_outtf): New expanders. (*movtf_internal): New define_insn_and_split. * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; make static; do not hand TFmode CONST_DOUBLEs to split_double. (ia64_split_tmode_move): New function, body mostly pulled from ia64.md:*movti_internal. (ia64_function_arg_words): New function, extracted common logic from ia64_function_arg et seq. (ia64_function_arg_offset): Likewise. Handle correctly the case of a scalar quantity 16 bytes wide with only 8-byte alignment. (ia64_function_arg, ia64_function_arg_partial_nregs) (ia64_function_arg_advance): Use ia64_function_arg_words and ia64_function_arg_offset. (ia64_function_value): TCmode does not go in float regs. (ia64_secondary_reload_class): Also handle TFmode. * config/ia64/ia64-protos.h: Remove prototype for ia64_split_timode; add prototype for ia64_split_tmode_move. From-SVN: r75956
Showing
Please
register
or
sign in
to comment