]> git.ipfire.org Git - thirdparty/gcc.git/commit
[AArch64] Fix aarch64_ira_change_pseudo_allocno_class
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 May 2018 10:31:21 +0000 (10:31 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 May 2018 10:31:21 +0000 (10:31 +0000)
commit69b1edbbe7442f385c06ef1d3c60ef31c77f96d8
treec82f3633a43f74e9269c0bd423729416b7d5048e
parenteb2eeafe074f4a30f40878e7e86b36c104f02630
[AArch64] Fix aarch64_ira_change_pseudo_allocno_class

A recent commit removing '*' from the md files caused a large regression in
h264ref.  It turns out aarch64_ira_change_pseudo_allocno_class is no longer
effective after the SVE changes, and the combination results in the regression.
This patch fixes it by explicitly checking for a subset of GENERAL_REGS and
FP_REGS.  Add a missing ? to aarch64_get_lane to fix a failure in the testsuite.

    gcc/
* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
Check for subset of GENERAL_REGS and FP_REGS.
* config/aarch64/aarch64-simd.md (aarch64_get_lane): Increase cost of
r=w alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260951 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.c