diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2016-02-17 14:18:45 +0100 |
---|---|---|
committer | Linaro Code Review <review@review.linaro.org> | 2016-03-14 13:43:11 +0000 |
commit | 34d9bcc7181a3076d3fb5105f15456824b92bd51 (patch) | |
tree | b60e78ef33a340dd6ea580120c4b9f6b3ecbb908 /gcc/testsuite | |
parent | 4d05e02e2e1eeaa238c06639949f588a9a2b4417 (diff) |
gcc/
Backport from trunk r233461.
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
always use lane loads to construct non-constant vectors.
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
gcc/testsuite/
Backport from trunk r233461.
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/aarch64/vector_initialization_nostack.c: New.
Change-Id: I7de97dc15b350ea0e46d23adc7eafbbd65648bb8
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c b/gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c new file mode 100644 index 00000000000..bbad04d0026 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/vector_initialization_nostack.c @@ -0,0 +1,53 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -ftree-vectorize -fno-vect-cost-model" } */ +float arr_f[100][100]; +float +f9 (void) +{ + + int i; + float sum = 0; + for (i = 0; i < 100; i++) + sum += arr_f[i][0] * arr_f[0][i]; + return sum; + +} + + +int arr[100][100]; +int +f10 (void) +{ + + int i; + int sum = 0; + for (i = 0; i < 100; i++) + sum += arr[i][0] * arr[0][i]; + return sum; + +} + +double arr_d[100][100]; +double +f11 (void) +{ + int i; + double sum = 0; + for (i = 0; i < 100; i++) + sum += arr_d[i][0] * arr_d[0][i]; + return sum; +} + +char arr_c[100][100]; +char +f12 (void) +{ + int i; + char sum = 0; + for (i = 0; i < 100; i++) + sum += arr_c[i][0] * arr_c[0][i]; + return sum; +} + + +/* { dg-final { scan-assembler-not "sp" } } */ |