diff options
author | Tamar Christina <tamar.christina@arm.com> | 2025-03-04 11:15:26 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2025-03-04 11:15:52 +0000 |
commit | d883f3233c4b7e0dce52539a12dfcccc8aff43e4 (patch) | |
tree | 2f28ac04844632f1b7f997fa443216cd4997deb7 /gcc/fortran/trans-expr.cc | |
parent | ac16d6d74fcb4ca10c939b00782b4dfada666273 (diff) | |
download | gcc-d883f3233c4b7e0dce52539a12dfcccc8aff43e4.zip gcc-d883f3233c4b7e0dce52539a12dfcccc8aff43e4.tar.gz gcc-d883f3233c4b7e0dce52539a12dfcccc8aff43e4.tar.bz2 |
aarch64: force operand to fresh register to avoid subreg issues [PR118892]
When the input is already a subreg and we try to make a paradoxical
subreg out of it for copysign this can fail if it violates the subreg
relationship.
Use force_lowpart_subreg instead of lowpart_subreg to then force the
results to a register instead of ICEing.
gcc/ChangeLog:
PR target/118892
* config/aarch64/aarch64.md (copysign<GPF:mode>3): Use
force_lowpart_subreg instead of lowpart_subreg.
gcc/testsuite/ChangeLog:
PR target/118892
* gcc.target/aarch64/copysign-pr118892.c: New test.
Diffstat (limited to 'gcc/fortran/trans-expr.cc')
0 files changed, 0 insertions, 0 deletions