/* { dg-do compile } */
/* { dg-require-effective-target powerpc_pcrel } */
/* { dg-options "-O2 -mdejagnu-cpu=power10 -mpcrel-opt" } */

#define TYPE	float
#define LARGE	0x20000

/* Test whether we get the right number of PCREL_OPT optimizations for
   float.  */
extern TYPE ext[];

void
store (TYPE a)
{
  ext[0] = a;			/* PCREL_OPT relocation.  */
}

void
store2 (TYPE a)
{
  ext[2] = a;			/* PCREL_OPT relocation.  */
}

void
store_large (TYPE a)
{
  ext[LARGE] = a;		/* No PCREL_OPT (store is prefixed).  */
}

void
store_variable (TYPE a, unsigned long n)
{
  ext[n] = a;			/* No PCREL_OPT (store is indexed).  */
}

/* { dg-final { scan-assembler-times "R_PPC64_PCREL_OPT"  2 } } */
