https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90878

--- Comment #7 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Thu Aug 15 18:15:33 2019
New Revision: 274543

URL: https://gcc.gnu.org/viewcvs?rev=274543&root=gcc&view=rev
Log:
i386: Separate costs of pseudo registers from hard registers

processor_costs has costs of RTL expressions with pseudo registers and
and costs of hard register moves:

1. Costs of RTL expressions are used to generate the most efficient RTL
operations with pseudo registers.

2. Costs of hard register moves are used by register allocator to
decide how to allocate and move hard registers.

Since relative costs of pseudo register load and store versus pseudo
register moves in RTL expressions can be different from relative costs
of hard registers, we should separate costs of RTL expressions with
pseudo registers from costs of hard registers so that register allocator
and RTL expressions can be improved independently.

This patch moves costs of hard register moves to the new hard_register
field and duplicates costs of moves which are also used for costs of RTL
expressions.

        PR target/90878
        * config/i386/i386.c (inline_memory_move_cost): Use hard_register
        for costs of hard register moves.
        (ix86_register_move_cost): Likewise.
        * config/i386/i386.h (processor_costs): Move costs of hard
        register moves to hard_register.  Add int_load, int_store,
        xmm_move, ymm_move, zmm_move, sse_to_integer, integer_to_sse,
        sse_load, sse_store, sse_unaligned_load and sse_unaligned_store
        for costs of RTL expressions.
        * config/i386/x86-tune-costs.h: Move costs of hard register
        moves to hard_register.  Duplicate int_load, int_store,
        xmm_move, ymm_move, zmm_move, sse_to_integer, integer_to_sse,
        sse_load, sse_store for costs of RTL expressions.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/x86-tune-costs.h

Reply via email to