]> git.ipfire.org Git - thirdparty/gcc.git/commit
AArch64: aarch64_class_max_nregs mishandles 64-bit structure modes [PR112577]
authorTejas Belagod <tejas.belagod@arm.com>
Thu, 11 Jan 2024 07:07:06 +0000 (12:37 +0530)
committerTejas Belagod <tejas.belagod@arm.com>
Tue, 6 Feb 2024 10:34:55 +0000 (16:04 +0530)
commitca04e7a2e1b08ed02e22e2656ba6032099195856
tree67be843d856e5c263dc339c94ab5f6076499429f
parentc5f48b5fdde849759d0e3b4effd9352a2399d6f9
AArch64: aarch64_class_max_nregs mishandles 64-bit structure modes [PR112577]

The target hook aarch64_class_max_nregs returns the incorrect result for 64-bit
structure modes like V31DImode or V41DFmode etc.  The calculation of the nregs
is based on the size of AdvSIMD vector register for 64-bit modes which ought to
be UNITS_PER_VREG / 2.  This patch fixes the register size.

gcc/ChangeLog:

PR target/112577
* config/aarch64/aarch64.cc (aarch64_class_max_nregs): Handle 64-bit
vector structure modes correctly.
gcc/config/aarch64/aarch64.cc