aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2023-12-10 19:46:06 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2023-12-10 19:46:06 +0000
commitf5c8d6bc050a8a6120aff2be25b6892d91baac99 (patch)
tree42029648ef66163cf0f45b57499f8e91750327a9 /gcc/c
parent8c1df4022546cc783c4ab666751c9a2e9b3637b0 (diff)
downloadgcc-f5c8d6bc050a8a6120aff2be25b6892d91baac99.zip
gcc-f5c8d6bc050a8a6120aff2be25b6892d91baac99.tar.gz
gcc-f5c8d6bc050a8a6120aff2be25b6892d91baac99.tar.bz2
aarch64: Fix SMSTART/SMSTOP save/restore for BE
VNx16QI (the SVE register byte mode) is the only SVE mode for which LD1 and LDR result in the same register layout for big-endian. It is therefore the only mode for which we allow LDR and STR to be used for big-endian SVE moves. The SME support sometimes needs to use LDR and STR to save and restore Z register contents around an SMSTART/SMSTOP SM. It therefore needs to use VNx16QI regardless of the type of value that is stored in the Z registers. gcc/ PR target/112930 * config/aarch64/aarch64.cc (aarch64_sme_mode_switch_regs::add_reg): Force specific SVE modes for single registers as well as structures.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions