[PATCH] hppa: Improve hppa_rtx_costs for shifts by constants.

Roger Sayle roger@nextmovesoftware.com
Thu Aug 27 16:42:28 GMT 2020


Hi Dave (and Jeff),
For your consideration, here's a patch that should fix the recent regression
of gcc.dg/tree-ssa/slrt-13.c on hppa targets.

This patch provides more accurate rtx_costs estimates for shifts by
integer constants (which are cheaper than by a register amount).
Fine tuning these is sufficient to have simple-ssa-strength-reduce
prefer multiplications by four, over multiplications by five.

Technically only the ASHIFT is required to fix the regression, but for
symmetry
I've added the appropriate PA-RISC values for all three shift types (in
SImode).
I've also checked that this doesn't reintroduce PR middle-end/87256.

I was wondering whether you could please "put this in the queue", and
reconfirm that PR middle-end/87256 remains resolved?


2020-08-27  Roger Sayle  <roger@nextmovesoftware.com>

gcc/ChangeLog
	* config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
	Provide accurate costs for shifts of integer constants.

Many thanks in advance (and my apologies for the inconvenience),
Roger
--
Roger Sayle
NextMove Software
Cambridge, UK

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patchh4.txt
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200827/5a47853d/attachment.txt>


More information about the Gcc-patches mailing list