On Wed, 29 Apr 2020 at 18:40, Kyrylo Tkachov <kyrylo.tkac...@arm.com> wrote: > > Hi Christophe, > > > -----Original Message----- > > From: Gcc-patches <gcc-patches-boun...@gcc.gnu.org> On Behalf Of > > Christophe Lyon via Gcc-patches > > Sent: 29 April 2020 16:53 > > To: gcc Patches <gcc-patches@gcc.gnu.org> > > Subject: arm: Fix vfp_operand_register for VFP HI regs > > > > Hi, > > > > 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. > > Hmm, I see that arm_regno_class indeed never returns VFP_REGS and would > return VFP_HI_REGS here. > So the patch looks correct to me. > Do you have a testcase for the ICE to add to the testsuite? >
No C source code: I found that while extending the list of registers pushed in the prologue of an IRQ handler, more-or-less modifying arm_save_coproc_regs so that more registers are handled by vfp_emit_fstmd. The problem occurs when trying to push d16-d31. > Thanks, > Kyrill > > > > > Regression-tested and bootstrapped OK. > > > > 2020-04-29 Christophe Lyon <christophe.l...@linaro.org> > > > > gcc/ > > * config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS > > instead of VFP_REGS. > > > > OK? > > > > Thanks, > > > > Christophe