(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
pr94743-3.c
       1  /* PR target/94743 */
       2  /* { dg-do compile } */
       3  /* Thumb1 mode not supported for interrupt routines.  */
       4  /* { dg-require-effective-target arm32 } */
       5  /* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } {"-mfloat-abi=soft" } } */
       6  /* { dg-options "-mgeneral-regs-only -mfloat-abi=soft" } */
       7  
       8  /* Check that we do not emit a warning when compiling an IRQ handler
       9     with -mgeneral-regs-only even when using floating-point data.  */
      10  typedef struct {
      11    /* Since we use -mfloat=abi=soft, this will generate calls to
      12       libgcc, but won't clobber VFP registers.  */
      13    double fpdata[32];
      14  } dummy_t;
      15  
      16  dummy_t global_d;
      17  dummy_t global_d1;
      18  
      19  /* This function does not clobber VFP registers.  */
      20  __attribute__ ((interrupt("IRQ"))) void IRQ_HDLR_Test(void)
      21  {
      22    global_d.fpdata[3] += global_d.fpdata[3] * global_d1.fpdata[3];
      23  }