diff options
author | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2024-06-05 14:04:33 +0100 |
---|---|---|
committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2024-06-05 14:10:50 +0100 |
commit | d7cbcfe7c33645eaf95f175f19884d443817857b (patch) | |
tree | 271c52228a0d3bc074f42304ffa8cad8da356cf5 /gcc/tree-vect-loop.cc | |
parent | acdc9df371fbe99e814a3f35a439531e08af79e7 (diff) | |
download | gcc-d7cbcfe7c33645eaf95f175f19884d443817857b.zip gcc-d7cbcfe7c33645eaf95f175f19884d443817857b.tar.gz gcc-d7cbcfe7c33645eaf95f175f19884d443817857b.tar.bz2 |
AArch64: Fix cpu features initialization [PR115342]
The CPU features initialization code uses CPUID registers (rather than
HWCAP). The equality comparisons it uses are incorrect: for example FEAT_SVE
is not set if SVE2 is available. Using HWCAPs for these is both simpler and
correct. The initialization must also be done atomically to avoid multiple
threads causing corruption due to non-atomic RMW accesses to the global.
libgcc:
PR target/115342
* config/aarch64/cpuinfo.c (__init_cpu_features_constructor):
Use HWCAP where possible. Use atomic write for initialization.
Fix FEAT_PREDRES comparison.
(__init_cpu_features_resolver): Use atomic load for correct
initialization.
(__init_cpu_features): Likewise.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions