-
law authored
wrong, stupid, or just don't make any sense yet. * h8300.c (adds_subs_operand): New function. (output_adds_subs): New function. * h8300.md (addhi3): Turn into a define_expand. (addhi3 using adds_subs): New pattern. (H8300 addhi): Derived from old addhi pattern. Simplified. (H8300H addhi): Likewise. (addsi using adds_subs): New pattern. Only used on H8300H. (addsi_h8300): Allow "a" registers as destination. (addsi_h8300h): Simplify. Allow "a" registers as destination. * h8300.md (bcs): New attribute type. (default_length): Compute correct length for bcs insns. (bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update to account for correct length computation. * h8300.md (movhi_internal): Demand at least one operand to be a register. (movsi_h8300): Optimize loading certain constants. (movsi_h8300h): Likewise. * h8300.h (NO_FUNCTION_CSE): Comment out. (FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL. (RETURN_IN_MEMORY): Don't return small structs in regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11751 138bc75d-0d04-0410-961f-82ee72b054a40a56558f