diff options
author | YunQiang Su <syq@gcc.gnu.org> | 2023-12-30 01:34:28 +0800 |
---|---|---|
committer | YunQiang Su <syq@gcc.gnu.org> | 2024-01-04 09:55:09 +0800 |
commit | 9876d50eb3286cd2b53c92d5ea409b8b228586c3 (patch) | |
tree | e06b08d79867c796b0620b3440da3a9349c3dbb3 /gcc/gcc-urlifier.h | |
parent | ffdbb8e02280e37b2f81ed40b98f7168dc502c52 (diff) | |
download | gcc-9876d50eb3286cd2b53c92d5ea409b8b228586c3.zip gcc-9876d50eb3286cd2b53c92d5ea409b8b228586c3.tar.gz gcc-9876d50eb3286cd2b53c92d5ea409b8b228586c3.tar.bz2 |
MIPS: Implement TARGET_INSN_COSTS
When combine some instructions, the generic `rtx_cost`
may over estimate the cost of result RTL, due to that
the RTL may be quite complex and `rtx_cost` has no
information that this RTL can be convert to simple
hardware instruction(s).
In this case, Let's use `insn_count * perf_ratio` to
estimate the cost if both of them are available.
Otherwise fallback to pattern_cost.
When non-speed, Let's use the length as cost.
gcc
* config/mips/mips.cc (mips_insn_cost): New function.
gcc/testsuite
* gcc.target/mips/data-sym-multi-pool.c: Skip Os or -O0.
Diffstat (limited to 'gcc/gcc-urlifier.h')
0 files changed, 0 insertions, 0 deletions