https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116569

--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #9)
> Oh wait the problem is this is before lowering but SVE vectors can't be
> lowered.
> 
> I think maybe the lowering pass should handle the case where:
> !target_supports_op_p (type, TRUNC_MOD_EXPR, optab_vector) &&
> target_supports_op_p (type, TRUNC_DIV_EXPR, optab_vector) &&
> target_supports_op_p (type, MULT_EXPR, optab_vector) && target_supports_op_p
> (type, MINUS_EXPR, optab_vector)


That would also help if you add that lowering to vect lowering:
```
#define vect16 __attribute__((vector_size(16)))
vect16 unsigned g(vect16 unsigned a, vect16 unsigned b)
{
        return a % b;
}
```

Reply via email to