• law's avatar
    * h8300.md: Add more comments about things which seem · 0a56558f
    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-82ee72b054a4
    0a56558f
h8300.md 69.4 KB