(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pcrel-opt-ld-si.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target powerpc_pcrel } */
       3  /* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */
       4  
       5  #define TYPE	int
       6  #define LARGE	0x20000
       7  
       8  /* Test whether we get the right number of PCREL_OPT optimizations for int.  */
       9  extern TYPE ext[];
      10  
      11  TYPE
      12  get (void)
      13  {
      14    return ext[0];		/* PCREL_OPT relocation.  */
      15  }
      16  
      17  TYPE
      18  get2 (void)
      19  {
      20    return ext[2];		/* PCREL_OPT relocation.  */
      21  }
      22  
      23  TYPE
      24  get_large (void)
      25  {
      26    return ext[LARGE];		/* No PCREL_OPT (load is  prefixed).  */
      27  }
      28  
      29  TYPE
      30  get_variable (unsigned long n)
      31  {
      32    return ext[n];		/* No PCREL_OPT (load is indexed).  */
      33  }
      34  
      35  double
      36  get_double (void)
      37  {
      38    return (double) ext[0];	/* No PCREL_OPT (LFIWAX is indexed).  */
      39  }
      40  
      41  /* { dg-final { scan-assembler-times "R_PPC64_PCREL_OPT"  2 } } */