1  /* PR target/70293 */
       2  /* { dg-do compile } */
       3  /* { dg-require-effective-target lp64 } */
       4  /* { dg-options "-mtune=westmere -mavx512vl -O2" } */
       5  
       6  typedef short __v8hi __attribute__((__vector_size__(16)));
       7  typedef int __v8hu __attribute__((__vector_size__(16)));
       8  typedef long __m128i __attribute__((__vector_size__(16)));
       9  __m128i _mm_madd_epi16___B, _mm_mullo_epi16___A,
      10      scaled_bilinear_scanline_sse2_8888_8_8888_OVER_xmm_b,
      11      scaled_bilinear_scanline_sse2_8888_8_8888_OVER___trans_tmp_16,
      12      scaled_bilinear_scanline_sse2_8888_8_8888_OVER___trans_tmp_13;
      13  int _mm_srli_epi16___B, scaled_bilinear_scanline_sse2_8888_8_8888_OVER_m,
      14      scaled_bilinear_scanline_sse2_8888_8_8888_OVER_dst,
      15      scaled_bilinear_scanline_sse2_8888_8_8888_OVER_wt;
      16  __m128i _mm_set_epi16();
      17  void _mm_cvtsi128_si32();
      18  void
      19  scaled_bilinear_scanline_sse2_8888_8_8888_OVER(int p1) {
      20    __m128i __trans_tmp_12, __trans_tmp_6, __trans_tmp_5, xmm_x = _mm_set_epi16();
      21    int mask;
      22    __trans_tmp_5 = (__m128i){scaled_bilinear_scanline_sse2_8888_8_8888_OVER_wt};
      23    __trans_tmp_6 = (__m128i)(__v8hi){p1, p1, p1, p1, p1, p1, p1, p1};
      24    while (scaled_bilinear_scanline_sse2_8888_8_8888_OVER_dst) {
      25      scaled_bilinear_scanline_sse2_8888_8_8888_OVER_m = mask++;
      26      if (scaled_bilinear_scanline_sse2_8888_8_8888_OVER_m) {
      27        __trans_tmp_12 =
      28            (__m128i)((__v8hu)_mm_mullo_epi16___A * (__v8hu)__trans_tmp_6);
      29        scaled_bilinear_scanline_sse2_8888_8_8888_OVER_xmm_b = __trans_tmp_12;
      30        scaled_bilinear_scanline_sse2_8888_8_8888_OVER___trans_tmp_13 =
      31            (__m128i)__builtin_ia32_psrlwi128((__v8hi)xmm_x, _mm_srli_epi16___B);
      32        scaled_bilinear_scanline_sse2_8888_8_8888_OVER___trans_tmp_16 =
      33            (__m128i)__builtin_ia32_pmaddwd128((__v8hi)__trans_tmp_5,
      34                                               (__v8hi)_mm_madd_epi16___B);
      35        _mm_cvtsi128_si32();
      36      }
      37    }
      38  }