[arm] Fix vfp_operand_register for VFP HI regs
authorChristophe Lyon <christophe.lyon@linaro.org>
Mon, 8 Jun 2020 08:17:20 +0000 (08:17 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Mon, 8 Jun 2020 08:19:04 +0000 (08:19 +0000)
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.

gcc/config/arm/predicates.md

index 9e9bca4d87fdc31e045b2b5bb03b996f082079bd..51ea62b36541bbb75daca9611ed99924104bb431 100644 (file)
              || 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"