(define_attr type): New types for SQRT.
(call patterns): Use SCRATCH for LR0.
Use new predicate call_operand so that some integers can be
used as addresses; fix CALLI so it doesn't accept constant.
(EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND
when combine will make it.
Use PSImode for BP value and don't reference BP explicitly.
Clean up define_expands for these operations.
(rotlsi3): Use PSImode pseudo for FC.
(sign_extend): Sign extension insns clobber BP.
({load,store}_multiple): Use PSImode pseudo for CR.
(MTSR): Add pattern for TRUNCATE from SImode to PSImode.
(sqrtsf2, sqrtdf2, movpsi): New patterns.
(load/store bytes/halfword): Clean up to accept temporaries as
input and use PSImode when required.
(movhi, movqi): Allocate temporaries here.
(reload_inqi, reload_outqi, reload_inhi, reload_outhi): New patterns.
(movdf, movdi, movti): Use SCRATCH for BP register.
(reload_{in,out}{df,di,ti}): New patterns.
From-SVN: r2445
(CALL_USED_REGISTERS): LR0 is call-used.
(HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special
registers that can only hold those modes.
(MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes.
(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new
classes LR0_REGS, FC_REGS, and CR_REGS.
(REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
(PREDICATE_CODES): Update for new and deleted predicates.
From-SVN: r2444
(spec_reg_operand): Validate mode and know that some regs support
MODE_PARTIAL_INT and some MODE_INT.
(call_operand, reload_memory_operand, a29k_get_reloaded_address)
New functions.
(in_operand): Allow constants with MODE_PARTIAL_INT.
(out_operand): Allow special registers with any mode.
Any MEM a word or wider is valid.
(extend_operator): Deleted.
(secondary_reload_class): A pseudo is the same as memory; we need
BP_REGS for multi-word memory or for bytes and halfword if -mndw.
(print_operand): Delete %X; add %m.
(print_operand, case 'F'): Check for SYMBOL_REF.
From-SVN: r2443
(loop_optimize): Verify that max_uid_for_loop is still
larger than the uid of any insn. Increase the number of exit
blocks from 4 to 32 per loop.
(find_and_verify_loops): Stop trying to relocate exit blocks when
allocating a new label would exceed max_uid_for_loop.
From-SVN: r2440
(main): Only install a signal handler for signals
that already have handlers.
(fork_execute): Don't ignore signals before calling do_wait.
From-SVN: r2436
(*): Change 'f' constraint for dest to '*f' if it is not the
only alternative. Add '*f' dest constraints to all patterns where
it is valid but was previously missing.
From-SVN: r2435
(i960_output_call_insn): Add two new parameters arg_pointer and
scratch_reg. Save/set/restore g14 if necessary.
(i960_expand_call): Delete function.
From-SVN: r2433