(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pr26350.c
       1  /* { dg-do compile { target { powerpc*-*-darwin* powerpc*-*-aix* rs6000-*-* powerpc*-*-linux* } } } */
       2  /* { dg-options "-O2 -mlong-double-128 -fpic" } */
       3  /* { dg-require-effective-target fpic } */
       4  
       5  typedef int int32_t __attribute__ ((__mode__ (__SI__)));
       6  typedef unsigned char uint8_t;
       7  typedef unsigned int uint32_t;
       8  typedef struct REGS REGS;
       9  typedef union { uint32_t F; } FW;
      10  typedef union { struct { FW L; } F; } DW;
      11  typedef struct _PSW {
      12    DW ia;
      13  } PSW;
      14  struct REGS {
      15    PSW psw;
      16    DW cr[16];
      17  };
      18  struct ebfp {
      19    long double v;
      20  };
      21  void put_ebfp (struct ebfp *);
      22  
      23  void s390_convert_fix32_to_bfp_ext_reg (REGS *regs)
      24  {
      25    struct ebfp op1;
      26    int32_t op2;
      27    ((regs))->psw.ia.F.L.F += (4);
      28    if(!((regs)->cr[(0)].F.L.F & 0x00040000))
      29      op1.v = (long double)op2;
      30    put_ebfp(&op1);
      31  }