/* { dg-require-effective-target vect_int } */
/* { dg-additional-options "-fno-vect-cost-model" { target aarch64*-*-* } } */

#include <stdint.h>
#include "tree-vect.h"

#define N 50
#define TYPE uint32_t 

__attribute__((noipa, noinline, optimize("O1")))
void fun1(TYPE* restrict pixel, TYPE level, int n)
{
  for (int i = 0; i < n; i+=1)
    pixel[i] = (pixel[i] * (uint64_t)level) / 0xffffffffUL;
}

__attribute__((noipa, noinline, optimize("O3")))
void fun2(TYPE* restrict pixel, TYPE level, int n)
{
  for (int i = 0; i < n; i+=1)
    pixel[i] = (pixel[i] * (uint64_t)level) / 0xffffffffUL;
}

#include "vect-div-bitmask.h"

/* { dg-final { scan-tree-dump-not "vect_recog_divmod_pattern: detected" "vect" { target aarch64*-*-* } } } */