]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/h8300/h8300.cc
Adjust rtx_costs for h8300
authorJeff Law <law@redhat.com>
Mon, 23 Nov 2020 20:06:11 +0000 (13:06 -0700)
committerJeff Law <law@redhat.com>
Mon, 23 Nov 2020 20:06:11 +0000 (13:06 -0700)
commitf80565da33598c4dbc70ea9c83272ed6bfff7a0d
treefb3c9af25bc1472fbe66253e09eb2995c835a441
parent53a90650663e59948f86505660604b5769cf808c
Adjust rtx_costs for h8300

So the primary purpose of this patch is to make it easier to write tests for
removal of useless test/compare insns on the H8.

In simplest terms the costing model in the H8 port tends to encourage changing
something like:

  x = y + 4;
  if (x == 0)

into:

  x = y + 4;
  if (y == -4)

This is a marginal de-optimization on the H8.  So fixing it makes the code
ever-so-slightly better in isolation.   Fixing this also improves redundant
test/compare elimination and makes writing tests for redundant test/compare
elimination far easier.

gcc/
* config/h8300/h8300.c (h8300_rtx_costs): Handle the various
comparison rtx codes too.
gcc/config/h8300/h8300.c