aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2020-06-08 08:17:20 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2020-06-08 08:19:04 +0000
commit635408da1eb1d441ef4d59fe00a038c920e51085 (patch)
tree886635b5b5d68fe47b42e158cbc5dc1c8b5a3b2e
parent291f65f15a70dafd5b345f55028947ad048c3bb7 (diff)
downloadgcc-635408da1eb1d441ef4d59fe00a038c920e51085.zip
gcc-635408da1eb1d441ef4d59fe00a038c920e51085.tar.gz
gcc-635408da1eb1d441ef4d59fe00a038c920e51085.tar.bz2
[arm] Fix vfp_operand_register for VFP HI regs
While looking at PR target/94743 I noticed an ICE when I tried to save all the FP registers: this was because all HI registers wouldn't match vfp_register_operand. gcc/ChangeLog: * config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS instead of VFP_REGS.
-rw-r--r--gcc/config/arm/predicates.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md
index 9e9bca4..51ea62b 100644
--- a/gcc/config/arm/predicates.md
+++ b/gcc/config/arm/predicates.md
@@ -173,7 +173,7 @@
|| REGNO_REG_CLASS (REGNO (op)) == VFP_D0_D7_REGS
|| REGNO_REG_CLASS (REGNO (op)) == VFP_LO_REGS
|| (TARGET_VFPD32
- && REGNO_REG_CLASS (REGNO (op)) == VFP_REGS)));
+ && REGNO_REG_CLASS (REGNO (op)) == VFP_HI_REGS)));
})
(define_predicate "vfp_hard_register_operand"