about summary refs log tree commit diff
path: root/sysdeps/generic/libm-alias-double.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-01-10 18:01:01 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-02-06 16:19:35 -0300
commitbe836d9153eb6c1203c6659befb38427514eb349 (patch)
treeec19a5567ac1c36199691f13ca654bd940921500 /sysdeps/generic/libm-alias-double.h
parent167f6230af97690985ccbc9b3026a7c32ec2d6e9 (diff)
downloadglibc-be836d9153eb6c1203c6659befb38427514eb349.tar.gz
glibc-be836d9153eb6c1203c6659befb38427514eb349.tar.xz
glibc-be836d9153eb6c1203c6659befb38427514eb349.zip
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>
Diffstat (limited to 'sysdeps/generic/libm-alias-double.h')
0 files changed, 0 insertions, 0 deletions