This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/81036] New: -fcall-saved-X does not work for floating-point registers


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81036

            Bug ID: 81036
           Summary: -fcall-saved-X does not work for floating-point
                    registers
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: thopre01 at gcc dot gnu.org
  Target Milestone: ---
            Target: arm*-*-*

Hi,

When compiling the below testcase with "-S -march=armv7-a -fcall-saved-s14
-mfpu=vfpv4 -mfloat-abi=hard" the compiler fails to generate the save/restore
sequence for S14.

void
saved_regs (void)
{
  __asm volatile ("" ::: "s14");
}

Similarly, compiling the below testcase with "-S -march=armv7-a -fcall-used-s16
-mfpu=vfpv4 -mfloat-abi=hard" does not get rid of the save/restore sequence for
S16.

void
saved_regs (void)
{
  __asm volatile ("" ::: "s16");
}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]