| /* { dg-options "-O2 -ftree-vectorize" } */ | |
| #pragma GCC target "+nosve" | |
| #include <stdint.h> | |
| void | |
| f (int16_t *x, int16_t *y, int8_t *z, int n) | |
| { | |
| for (int i = 0; i < n; ++i) | |
| { | |
| x[i] += y[i]; | |
| z[i] += z[i - 8]; | |
| } | |
| } | |
| /* { dg-final { scan-assembler-times {\tadd\tv[0-9]+\.8h,} 1 } } */ | |
| /* { dg-final { scan-assembler-times {\tadd\tv[0-9]+\.8b,} 1 } } */ | |
| /* { dg-final { scan-assembler-not {\tadd\tv[0-9]+\.4h,} } } */ |