]> git.ipfire.org Git - thirdparty/glibc.git/commit
hppa: Add memcopy.h
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 10 Jan 2023 21:01:01 +0000 (18:01 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 6 Feb 2023 19:19:35 +0000 (16:19 -0300)
commitbe836d9153eb6c1203c6659befb38427514eb349
treeec19a5567ac1c36199691f13ca654bd940921500
parent167f6230af97690985ccbc9b3026a7c32ec2d6e9
hppa: Add memcopy.h

GCC's combine pass cannot merge (x >> c | y << (32 - c)) into a
double-word shift unless (1) the subtract is in the same basic block
and (2) the result of the subtract is used exactly once.  Neither
condition is true for any use of MERGE.

By forcing the use of a double-word shift, we not only reduce
contention on SAR, but also allow the setting of SAR to be hoisted
outside of a loop.

Checked on hppa-linux-gnu.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
sysdeps/hppa/memcopy.h [new file with mode: 0644]