diff mbox

[AArch64] Implement some vca*_f[32,64] intrinsics

Message ID 53BE471B.5040203@arm.com
State New
Headers show

Commit Message

Kyrylo Tkachov July 10, 2014, 7:56 a.m. UTC
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

Comments

Marcus Shawcroft July 17, 2014, 10:12 a.m. UTC | #1
On 10 July 2014 08:56, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
>
> 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?

OK /Marcus
diff mbox

Patch

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;