(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr98928.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-Ofast -march=skylake-avx512 -fwhole-program -w" } */
       3  
       4  typedef float MagickRealType;
       5  typedef short Quantum;
       6  float InterpolateMagickPixelPacket_alpha[1];
       7  int InterpolateMagickPixelPacket_i;
       8  
       9  void InterpolateMagickPixelPacket();
      10  
      11  void main() { InterpolateMagickPixelPacket(); }
      12  
      13  typedef struct {
      14    MagickRealType red, green, blue, opacity, index;
      15  } MagickPixelPacket;
      16  typedef struct {
      17    Quantum blue, green, red, opacity;
      18  } PixelPacket;
      19  struct _Image {
      20    int colorspace;
      21    int matte;
      22  } GetMagickPixelPacket(MagickPixelPacket *pixel) {
      23    pixel->red = pixel->green = pixel->blue = 0.0;
      24  }
      25  int AlphaBlendMagickPixelPacket(struct _Image *image, PixelPacket *color,
      26                              Quantum *indexes, MagickPixelPacket *pixel,
      27                              MagickRealType *alpha) {
      28    if (image->matte) {
      29      *alpha = pixel->red = pixel->green = pixel->blue = pixel->opacity =
      30          color->opacity;
      31      pixel->index = 0.0;
      32      if (image->colorspace)
      33        pixel->index = *indexes;
      34      return 0;
      35    }
      36    *alpha = 1.0 / 0.2;
      37    pixel->red = *alpha * color->red;
      38    pixel->green = *alpha * color->green;
      39    pixel->blue = *alpha * color->blue;
      40    pixel->opacity = pixel->index = 0.0;
      41    if (image->colorspace && indexes)
      42      pixel->index = *indexes;
      43  }
      44  MagickPixelPacket InterpolateMagickPixelPacket_pixels[1];
      45  PixelPacket InterpolateMagickPixelPacket_p;
      46  
      47  void
      48  InterpolateMagickPixelPacket(struct _Image *image) {
      49    Quantum *indexes;
      50    for (; InterpolateMagickPixelPacket_i; InterpolateMagickPixelPacket_i++) {
      51      GetMagickPixelPacket(InterpolateMagickPixelPacket_pixels +
      52                           InterpolateMagickPixelPacket_i);
      53      AlphaBlendMagickPixelPacket(
      54          image, &InterpolateMagickPixelPacket_p + InterpolateMagickPixelPacket_i,
      55          indexes + InterpolateMagickPixelPacket_i,
      56          InterpolateMagickPixelPacket_pixels + InterpolateMagickPixelPacket_i,
      57          InterpolateMagickPixelPacket_alpha + InterpolateMagickPixelPacket_i);
      58    }
      59  }