This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [AArch64] Implement some vca*_f[32,64] intrinsics
- From: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- To: Christophe Lyon <christophe dot lyon at linaro dot org>, Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 10 Jul 2014 08:56:11 +0100
- Subject: Re: [AArch64] Implement some vca*_f[32,64] intrinsics
- Authentication-results: sourceware.org; auth=none
- References: <53A839EB dot 3090603 at arm dot com> <CAFqB+PzfamtfspZa_xKS9ht9XtgGC4JBM7kp5v2jgCTjBL01vQ at mail dot gmail dot com> <CAKdteOYZaEe19v8vGD8oG8JpB91t5w597o95m1ASPrGJ5EUyVA at mail dot gmail dot com>
On 02/07/14 08:59, Christophe Lyon wrote:
Hi,
It seems some of the scan-assembler directives fail:
http://cbuild.validation.linaro.org/build/cross-validation/gcc/trunk/212196/aarch64-none-elf/diff-gcc-rh50-aarch64-none-elf-default-default-default.txt
Christophe.
This patch should fix the tests by marking the appropriate variable
volatile.
Sorry for the delay and breakage.
Ok for trunk?
Thanks,
Kyrill
2014-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/simd/vcaled_f64.c: Mark expected value volatile.
* gcc.target/aarch64/simd/vcales_f32.c: Likewise.
* gcc.target/aarch64/simd/vcaltd_f64.c: Likewise.
* gcc.target/aarch64/simd/vcalts_f32.c: Likewise.
On 1 July 2014 14:13, Marcus Shawcroft <marcus.shawcroft@gmail.com> wrote:
On 23 June 2014 15:30, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
Hi all,
This patch implements some absolute compare intrinsics in arm_neon.h.
Execution tests are added.
Tested aarch64-none-elf, aarch64_be-none-elf, bootstrapped on aarch64 linux
+/* { dg-do run } */
+/* { dg-options "-save-temps -O3" } */
+
+#include "arm_neon.h"
+#include <stdio.h>
+
Drop the dependence on stdio.h please.
+ fprintf (stderr, "Expected: %ld, got %ld\n", expected, actual);
No need to print the expected value, abort( i alone is fine. Dropping
the printf will make the #include above go away.
Ok with those changes.
/Marcus
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/vcaled_f64.c b/gcc/testsuite/gcc.target/aarch64/simd/vcaled_f64.c
index 9ea31d6..5cb69fe 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/vcaled_f64.c
+++ b/gcc/testsuite/gcc.target/aarch64/simd/vcaled_f64.c
@@ -14,7 +14,7 @@ volatile float64_t in[SIZE] = { -10.4, -3.14, 0.0, 1.5, 5.3, 532.3 };
int
main (void)
{
- uint64_t expected;
+ volatile uint64_t expected;
uint64_t actual;
int i, j;
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/vcales_f32.c b/gcc/testsuite/gcc.target/aarch64/simd/vcales_f32.c
index a69a096..cc87a63 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/vcales_f32.c
+++ b/gcc/testsuite/gcc.target/aarch64/simd/vcales_f32.c
@@ -14,7 +14,7 @@ volatile float32_t in[SIZE] = { -10.4, -3.14, 0.0, 1.5, 5.3, 532.3 };
int
main (void)
{
- uint32_t expected;
+ volatile uint32_t expected;
uint32_t actual;
int i, j;
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/vcaltd_f64.c b/gcc/testsuite/gcc.target/aarch64/simd/vcaltd_f64.c
index fcdd75b..6ae9d8a 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/vcaltd_f64.c
+++ b/gcc/testsuite/gcc.target/aarch64/simd/vcaltd_f64.c
@@ -14,7 +14,7 @@ volatile float64_t in[SIZE] = { -10.4, -3.14, 0.0, 1.5, 5.3, 532.3 };
int
main (void)
{
- uint64_t expected;
+ volatile uint64_t expected;
uint64_t actual;
int i, j;
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/vcalts_f32.c b/gcc/testsuite/gcc.target/aarch64/simd/vcalts_f32.c
index 0799dd7..88d3eb3 100644
--- a/gcc/testsuite/gcc.target/aarch64/simd/vcalts_f32.c
+++ b/gcc/testsuite/gcc.target/aarch64/simd/vcalts_f32.c
@@ -14,7 +14,7 @@ volatile float32_t in[SIZE] = { -10.4, -3.14, 0.0, 1.5, 5.3, 532.3 };
int
main (void)
{
- uint32_t expected;
+ volatile uint32_t expected;
uint32_t actual;
int i, j;