Karl Meakin <karl.mea...@arm.com> writes:
> Commit the test file `mask_load_2.c` before the vectorisation analysis
> is changed, so that the changes in codegen are more obvious in the next
> commit.
>
> gcc/testsuite/ChangeLog:
>       * gcc.target/aarch64/sve/mask_load_2.c: New test.

OK, thanks.

Richard

> ---
>  .../gcc.target/aarch64/sve/mask_load_2.c      | 23 +++++++++++++++++++
>  1 file changed, 23 insertions(+)
>  create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/mask_load_2.c
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_load_2.c 
> b/gcc/testsuite/gcc.target/aarch64/sve/mask_load_2.c
> new file mode 100644
> index 00000000000..38fcf4f7206
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_load_2.c
> @@ -0,0 +1,23 @@
> +// { dg-do compile }
> +// { dg-options "-march=armv8-a+sve -msve-vector-bits=128 -O3" }
> +
> +typedef struct Array {
> +    int elems[3];
> +} Array;
> +
> +int loop(Array **pp, int len, int idx) {
> +    int nRet = 0;
> +
> +    #pragma GCC unroll 0
> +    for (int i = 0; i < len; i++) {
> +        Array *p = pp[i];
> +        if (p) {
> +            nRet += p->elems[idx];
> +        }
> +    }
> +
> +    return nRet;
> +}
> +
> +// { dg-final { scan-assembler-times {ld1w\tz[0-9]+\.d, p[0-7]/z} 0 } }
> +// { dg-final { scan-assembler-times {add\tz[0-9]+\.s, p[0-7]/m}  0 } }

Reply via email to