diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2018-06-01 08:22:13 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-06-01 08:22:13 +0000 |
commit | 67e5c59afb1696a624bdd2c49ada60db52158af4 (patch) | |
tree | 0cb77f2b237cf10774d6e0f6be7a41986f229114 /gcc | |
parent | 07205c411f31eb5f433049461e0622f4681b2dca (diff) | |
download | gcc-67e5c59afb1696a624bdd2c49ada60db52158af4.zip gcc-67e5c59afb1696a624bdd2c49ada60db52158af4.tar.gz gcc-67e5c59afb1696a624bdd2c49ada60db52158af4.tar.bz2 |
Fix SVE fallout from r260951
2018-06-01 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
Fix subreg tests so that we only return a choice between
GENERAL_REGS and FP_REGS if the original classes included both.
From-SVN: r261057
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7adafed..9035e67c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-06-01 Richard Sandiford <richard.sandiford@linaro.org> + + * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class): + Fix subreg tests so that we only return a choice between + GENERAL_REGS and FP_REGS if the original classes included both. + 2018-06-01 Richard Biener <rguenther@suse.de> PR ipa/85960 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index c94f709..98ef457 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -1108,12 +1108,12 @@ aarch64_ira_change_pseudo_allocno_class (int regno, reg_class_t allocno_class, { machine_mode mode; - if (reg_class_subset_p (allocno_class, GENERAL_REGS) - || reg_class_subset_p (allocno_class, FP_REGS)) + if (!reg_class_subset_p (GENERAL_REGS, allocno_class) + || !reg_class_subset_p (FP_REGS, allocno_class)) return allocno_class; - if (reg_class_subset_p (best_class, GENERAL_REGS) - || reg_class_subset_p (best_class, FP_REGS)) + if (!reg_class_subset_p (GENERAL_REGS, best_class) + || !reg_class_subset_p (FP_REGS, best_class)) return best_class; mode = PSEUDO_REGNO_MODE (regno); |