(alpha_emit_set_const, output_{pro,epi}log): Generate insns to load
constants into a register using a method that works on a 32-bit
machine as well.
From-SVN: r4246
(alpha_sa_size): Need to save $26 if it is used or if any other
register is saved, but not just because a stack space is needed.
(output_prolog): Add code to probe the stack if we allocate more than
4096 bytes; required by chapter 7 (for threads).
Know when to save $26.
(output_epilog): Know when to restore $26.
From-SVN: r4079
(add/sub): Correct predicates and constraints for sNaddX and addX insns; we
can use sNsubX and subX to add small negative constants.
Don't split addition to SP since we want to update it just once.
(beq, bne): Use subtract, not compare for ints; it's more efficient.
(define_split for comparisons): Always prefer add/sub if it will work.
(probe_stack, allocate_stack): New patterns.
From-SVN: r4078
(RTX_COST, case MULT): Correctly assign cost to multiplies by a power of two.
(RTX_COST, case ASHIFT, ASHIFTRT, LSHIFTRT, IF_THEN_ELSE): New cases.
From-SVN: r3710
(current_file_function_operand): New function, replaces
current_function_operand.
(print_operand, case 'F'): Case deleted.
(alpha_builtin_saveregs): Reworked to use homed arglists, as recommended in
the calling standard.
(alpha_need_gp): Deleted, code moved into output_prolog.
(alpha_gp_dead_after): Deleted; optimization is not safe.
(alpha_write_verstamp): New function.
(output_prolog, output_epilog): Major rework to update to current
calling standard.
From-SVN: r3459
(SLOW_UNALIGNED_ACCESS): Define as 1.
(ARG_POINTER_REGNUM): Use register number 31 as an arg pointer.
(FRAME_GROWS_DOWNWARD): Do not define.
(STARTING_FRAME_OFFSET): Now is outgoing args size.
(FIRST_PARM_OFFSET): Now 0.
(ELIMINABLE_REGS, etc.): Cannot eliminate gp, but do eliminate AP in favor
of either SP or FP.
(RETURN_IN_MEMORY): All structs or integers larger than 64 bits get returned
via memory.
(SETUP_INCOMING_VARARGS): Use homed arglist mechanism.
(ASM_DECLARE_FUNCTION_NAME): Use proper second arg to .ent.
(ASM_FILE_START): Call alpha_write_verstamp.
(ENCODE_SECTION_INFO): Record when a decl is for a function in the current
file.
From-SVN: r3457