* [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
@ 2014-09-23 15:08 Kyrill Tkachov
2014-09-23 15:25 ` Kyrill Tkachov
2014-12-11 12:26 ` Ramana Radhakrishnan
0 siblings, 2 replies; 8+ messages in thread
From: Kyrill Tkachov @ 2014-09-23 15:08 UTC (permalink / raw)
To: GCC Patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
[-- Attachment #1: Type: text/plain, Size: 1482 bytes --]
Hi all,
Some intrinsics had the wrong name (inconsistent with the NEON
intrinsics spec). This patch fixes that and adds the vrndx_f32 and
vrndxq_f32 intrinsics that were missing.
These map down to vrintx.f32 NEON instructions (d and q forms). We
already had builtins defined for them, just the intrinsics were not
wired up to them properly.
Tested arm-none-eabi
Ok for trunk?
2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.
2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
* gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
* gcc.target/arm/neon/vrndqaf32.c: Rename to...
* gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
* gcc.target/arm/neon/vrndqmf32.c: Rename to...
* gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
* gcc.target/arm/neon/vrndqnf32.c: Rename to...
* gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
* gcc.target/arm/neon/vrndqpf32.c: Rename to...
* gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: arm-neon-vrnd-fixes.patch --]
[-- Type: text/x-patch; name=arm-neon-vrnd-fixes.patch, Size: 10520 bytes --]
commit cd1f0ff54922b48e1fd12446ddde694b65b5e932
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Thu Sep 11 10:38:22 2014 +0100
[ARM] Fix some rounding intrinsics
diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h
index 47f6c5e..e034f6b 100644
--- a/gcc/config/arm/arm_neon.h
+++ b/gcc/config/arm/arm_neon.h
@@ -1466,7 +1466,7 @@ vrndn_f32 (float32x2_t __a)
#endif
#if __ARM_ARCH >= 8
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
-vrndqn_f32 (float32x4_t __a)
+vrndnq_f32 (float32x4_t __a)
{
return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
}
@@ -1482,7 +1482,7 @@ vrnda_f32 (float32x2_t __a)
#endif
#if __ARM_ARCH >= 8
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
-vrndqa_f32 (float32x4_t __a)
+vrndaq_f32 (float32x4_t __a)
{
return (float32x4_t)__builtin_neon_vrintav4sf (__a);
}
@@ -1498,7 +1498,7 @@ vrndp_f32 (float32x2_t __a)
#endif
#if __ARM_ARCH >= 8
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
-vrndqp_f32 (float32x4_t __a)
+vrndpq_f32 (float32x4_t __a)
{
return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
}
@@ -1514,12 +1514,31 @@ vrndm_f32 (float32x2_t __a)
#endif
#if __ARM_ARCH >= 8
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
-vrndqm_f32 (float32x4_t __a)
+vrndmq_f32 (float32x4_t __a)
{
return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
}
#endif
+
+#if __ARM_ARCH >= 8
+__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
+vrndx_f32 (float32x2_t __a)
+{
+ return (float32x2_t)__builtin_neon_vrintxv2sf (__a);
+}
+
+#endif
+
+#if __ARM_ARCH >= 8
+__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
+vrndxq_f32 (float32x4_t __a)
+{
+ return (float32x4_t)__builtin_neon_vrintxv4sf (__a);
+}
+
+#endif
+
#if __ARM_ARCH >= 8
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrnd_f32 (float32x2_t __a)
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndaqf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndaqf32.c
new file mode 100644
index 0000000..c1acb64
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon/vrndaqf32.c
@@ -0,0 +1,20 @@
+/* Test the `vrndaq_f32' ARM Neon intrinsic. */
+/* This file was autogenerated by neon-testgen. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O0" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+void test_vrndaqf32 (void)
+{
+ float32x4_t out_float32x4_t;
+ float32x4_t arg0_float32x4_t;
+
+ out_float32x4_t = vrndaq_f32 (arg0_float32x4_t);
+}
+
+/* { dg-final { scan-assembler "vrinta\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndmqf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndmqf32.c
new file mode 100644
index 0000000..306d4f8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon/vrndmqf32.c
@@ -0,0 +1,20 @@
+/* Test the `vrndmq_f32' ARM Neon intrinsic. */
+/* This file was autogenerated by neon-testgen. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O0" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+void test_vrndmqf32 (void)
+{
+ float32x4_t out_float32x4_t;
+ float32x4_t arg0_float32x4_t;
+
+ out_float32x4_t = vrndmq_f32 (arg0_float32x4_t);
+}
+
+/* { dg-final { scan-assembler "vrintm\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndnqf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndnqf32.c
new file mode 100644
index 0000000..0a70529
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon/vrndnqf32.c
@@ -0,0 +1,20 @@
+/* Test the `vrndnq_f32' ARM Neon intrinsic. */
+/* This file was autogenerated by neon-testgen. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O0" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+void test_vrndnqf32 (void)
+{
+ float32x4_t out_float32x4_t;
+ float32x4_t arg0_float32x4_t;
+
+ out_float32x4_t = vrndnq_f32 (arg0_float32x4_t);
+}
+
+/* { dg-final { scan-assembler "vrintn\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndpqf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndpqf32.c
new file mode 100644
index 0000000..723fee4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/neon/vrndpqf32.c
@@ -0,0 +1,20 @@
+/* Test the `vrndpq_f32' ARM Neon intrinsic. */
+/* This file was autogenerated by neon-testgen. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O0" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+void test_vrndpqf32 (void)
+{
+ float32x4_t out_float32x4_t;
+ float32x4_t arg0_float32x4_t;
+
+ out_float32x4_t = vrndpq_f32 (arg0_float32x4_t);
+}
+
+/* { dg-final { scan-assembler "vrintp\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndqaf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndqaf32.c
deleted file mode 100644
index b7b5d73..0000000
--- a/gcc/testsuite/gcc.target/arm/neon/vrndqaf32.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test the `vrndqaf32' ARM Neon intrinsic. */
-/* This file was autogenerated by neon-testgen. */
-
-/* { dg-do assemble } */
-/* { dg-require-effective-target arm_v8_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
-/* { dg-add-options arm_v8_neon } */
-
-#include "arm_neon.h"
-
-void test_vrndqaf32 (void)
-{
- float32x4_t out_float32x4_t;
- float32x4_t arg0_float32x4_t;
-
- out_float32x4_t = vrndqa_f32 (arg0_float32x4_t);
-}
-
-/* { dg-final { scan-assembler "vrinta\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
-/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndqmf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndqmf32.c
deleted file mode 100644
index 6d16bfc..0000000
--- a/gcc/testsuite/gcc.target/arm/neon/vrndqmf32.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test the `vrndqmf32' ARM Neon intrinsic. */
-/* This file was autogenerated by neon-testgen. */
-
-/* { dg-do assemble } */
-/* { dg-require-effective-target arm_v8_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
-/* { dg-add-options arm_v8_neon } */
-
-#include "arm_neon.h"
-
-void test_vrndqmf32 (void)
-{
- float32x4_t out_float32x4_t;
- float32x4_t arg0_float32x4_t;
-
- out_float32x4_t = vrndqm_f32 (arg0_float32x4_t);
-}
-
-/* { dg-final { scan-assembler "vrintm\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
-/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndqnf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndqnf32.c
deleted file mode 100644
index b31ca95..0000000
--- a/gcc/testsuite/gcc.target/arm/neon/vrndqnf32.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test the `vrndqnf32' ARM Neon intrinsic. */
-/* This file was autogenerated by neon-testgen. */
-
-/* { dg-do assemble } */
-/* { dg-require-effective-target arm_v8_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
-/* { dg-add-options arm_v8_neon } */
-
-#include "arm_neon.h"
-
-void test_vrndqnf32 (void)
-{
- float32x4_t out_float32x4_t;
- float32x4_t arg0_float32x4_t;
-
- out_float32x4_t = vrndqn_f32 (arg0_float32x4_t);
-}
-
-/* { dg-final { scan-assembler "vrintn\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
-/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/neon/vrndqpf32.c b/gcc/testsuite/gcc.target/arm/neon/vrndqpf32.c
deleted file mode 100644
index 5c4a866..0000000
--- a/gcc/testsuite/gcc.target/arm/neon/vrndqpf32.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test the `vrndqpf32' ARM Neon intrinsic. */
-/* This file was autogenerated by neon-testgen. */
-
-/* { dg-do assemble } */
-/* { dg-require-effective-target arm_v8_neon_ok } */
-/* { dg-options "-save-temps -O0" } */
-/* { dg-add-options arm_v8_neon } */
-
-#include "arm_neon.h"
-
-void test_vrndqpf32 (void)
-{
- float32x4_t out_float32x4_t;
- float32x4_t arg0_float32x4_t;
-
- out_float32x4_t = vrndqp_f32 (arg0_float32x4_t);
-}
-
-/* { dg-final { scan-assembler "vrintp\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
-/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/simd/neon-vrndx_f32_1.c b/gcc/testsuite/gcc.target/arm/simd/neon-vrndx_f32_1.c
new file mode 100644
index 0000000..3d2f27f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/simd/neon-vrndx_f32_1.c
@@ -0,0 +1,17 @@
+/* Test the `vrndx_f32' ARM Neon intrinsic. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O2" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+float32x2_t
+test_vrndx_f32 (float32x2_t in)
+{
+ return vrndx_f32 (in);
+}
+
+/* { dg-final { scan-assembler "vrintx\.f32\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
diff --git a/gcc/testsuite/gcc.target/arm/simd/neon-vrndxq_f32_1.c b/gcc/testsuite/gcc.target/arm/simd/neon-vrndxq_f32_1.c
new file mode 100644
index 0000000..c89cb24
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/simd/neon-vrndxq_f32_1.c
@@ -0,0 +1,17 @@
+/* Test the `vrndxq_f32' ARM Neon intrinsic. */
+
+/* { dg-do assemble } */
+/* { dg-require-effective-target arm_v8_neon_ok } */
+/* { dg-options "-save-temps -O2" } */
+/* { dg-add-options arm_v8_neon } */
+
+#include "arm_neon.h"
+
+float32x4_t
+test_vrndxq_f32 (float32x4_t in)
+{
+ return vrndxq_f32 (in);
+}
+
+/* { dg-final { scan-assembler "vrintx\.f32\[ \]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+\n" } } */
+/* { dg-final { cleanup-saved-temps } } */
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-09-23 15:08 [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32 Kyrill Tkachov
@ 2014-09-23 15:25 ` Kyrill Tkachov
2014-11-04 10:56 ` Kyrill Tkachov
2014-12-11 12:26 ` Ramana Radhakrishnan
1 sibling, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2014-09-23 15:25 UTC (permalink / raw)
To: gcc-patches
On 23/09/14 16:07, Kyrill Tkachov wrote:
> Hi all,
>
> Some intrinsics had the wrong name (inconsistent with the NEON
> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
> vrndxq_f32 intrinsics that were missing.
For reference, the NEON intrinsics spec can be found at:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
Kyrill
> These map down to vrintx.f32 NEON instructions (d and q forms). We
> already had builtins defined for them, just the intrinsics were not
> wired up to them properly.
>
> Tested arm-none-eabi
>
> Ok for trunk?
>
> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
> (vrndnq_f32): ... this.
> (vrndqa_f32): Rename to...
> (vrndaq_f32): ... this.
> (vrndqp_f32): Rename to...
> (vrndpq_f32): ... this.
> (vrndqm_f32): Rename to...
> (vrndmq_f32): ... this.
> (vrndx_f32): New intrinsic.
> (vrndxq_f32): Likewise.
>
> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-09-23 15:25 ` Kyrill Tkachov
@ 2014-11-04 10:56 ` Kyrill Tkachov
2014-11-13 14:46 ` Kyrill Tkachov
0 siblings, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2014-11-04 10:56 UTC (permalink / raw)
To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
Phew,
This one slipped through the cracks. Ping?
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01981.html
Thanks,
Kyrill
On 23/09/14 16:25, Kyrill Tkachov wrote:
> On 23/09/14 16:07, Kyrill Tkachov wrote:
>> Hi all,
>>
>> Some intrinsics had the wrong name (inconsistent with the NEON
>> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
>> vrndxq_f32 intrinsics that were missing.
> For reference, the NEON intrinsics spec can be found at:
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
>
> Kyrill
>
>> These map down to vrintx.f32 NEON instructions (d and q forms). We
>> already had builtins defined for them, just the intrinsics were not
>> wired up to them properly.
>>
>> Tested arm-none-eabi
>>
>> Ok for trunk?
>>
>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>
>> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
>> (vrndnq_f32): ... this.
>> (vrndqa_f32): Rename to...
>> (vrndaq_f32): ... this.
>> (vrndqp_f32): Rename to...
>> (vrndpq_f32): ... this.
>> (vrndqm_f32): Rename to...
>> (vrndmq_f32): ... this.
>> (vrndx_f32): New intrinsic.
>> (vrndxq_f32): Likewise.
>>
>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>
>> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
>> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
>> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
>> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
>> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
>> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
>> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
>> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
>> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
>> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-11-04 10:56 ` Kyrill Tkachov
@ 2014-11-13 14:46 ` Kyrill Tkachov
2014-11-21 11:41 ` Kyrill Tkachov
0 siblings, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2014-11-13 14:46 UTC (permalink / raw)
To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
Ping.
Kyrill
On 04/11/14 10:56, Kyrill Tkachov wrote:
> Phew,
>
> This one slipped through the cracks. Ping?
> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01981.html
>
> Thanks,
> Kyrill
>
> On 23/09/14 16:25, Kyrill Tkachov wrote:
>> On 23/09/14 16:07, Kyrill Tkachov wrote:
>>> Hi all,
>>>
>>> Some intrinsics had the wrong name (inconsistent with the NEON
>>> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
>>> vrndxq_f32 intrinsics that were missing.
>> For reference, the NEON intrinsics spec can be found at:
>> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
>>
>> Kyrill
>>
>>> These map down to vrintx.f32 NEON instructions (d and q forms). We
>>> already had builtins defined for them, just the intrinsics were not
>>> wired up to them properly.
>>>
>>> Tested arm-none-eabi
>>>
>>> Ok for trunk?
>>>
>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>
>>> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
>>> (vrndnq_f32): ... this.
>>> (vrndqa_f32): Rename to...
>>> (vrndaq_f32): ... this.
>>> (vrndqp_f32): Rename to...
>>> (vrndpq_f32): ... this.
>>> (vrndqm_f32): Rename to...
>>> (vrndmq_f32): ... this.
>>> (vrndx_f32): New intrinsic.
>>> (vrndxq_f32): Likewise.
>>>
>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>
>>> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
>>> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
>>> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
>>> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
>>> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
>>> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
>>> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
>>> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
>>> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
>>> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
>>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-11-13 14:46 ` Kyrill Tkachov
@ 2014-11-21 11:41 ` Kyrill Tkachov
2014-12-01 11:43 ` Kyrill Tkachov
0 siblings, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2014-11-21 11:41 UTC (permalink / raw)
To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
Ping again.
Thanks,
Kyrill
On 13/11/14 14:45, Kyrill Tkachov wrote:
> Ping.
>
> Kyrill
>
> On 04/11/14 10:56, Kyrill Tkachov wrote:
>> Phew,
>>
>> This one slipped through the cracks. Ping?
>> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01981.html
>>
>> Thanks,
>> Kyrill
>>
>> On 23/09/14 16:25, Kyrill Tkachov wrote:
>>> On 23/09/14 16:07, Kyrill Tkachov wrote:
>>>> Hi all,
>>>>
>>>> Some intrinsics had the wrong name (inconsistent with the NEON
>>>> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
>>>> vrndxq_f32 intrinsics that were missing.
>>> For reference, the NEON intrinsics spec can be found at:
>>> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
>>>
>>> Kyrill
>>>
>>>> These map down to vrintx.f32 NEON instructions (d and q forms). We
>>>> already had builtins defined for them, just the intrinsics were not
>>>> wired up to them properly.
>>>>
>>>> Tested arm-none-eabi
>>>>
>>>> Ok for trunk?
>>>>
>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>
>>>> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
>>>> (vrndnq_f32): ... this.
>>>> (vrndqa_f32): Rename to...
>>>> (vrndaq_f32): ... this.
>>>> (vrndqp_f32): Rename to...
>>>> (vrndpq_f32): ... this.
>>>> (vrndqm_f32): Rename to...
>>>> (vrndmq_f32): ... this.
>>>> (vrndx_f32): New intrinsic.
>>>> (vrndxq_f32): Likewise.
>>>>
>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>
>>>> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
>>>> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
>>>> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
>>>> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
>>>> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
>>>> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
>>>> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
>>>> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
>>>> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
>>>> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
>>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-11-21 11:41 ` Kyrill Tkachov
@ 2014-12-01 11:43 ` Kyrill Tkachov
2014-12-10 11:15 ` Kyrill Tkachov
0 siblings, 1 reply; 8+ messages in thread
From: Kyrill Tkachov @ 2014-12-01 11:43 UTC (permalink / raw)
To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
Ping.
Kyrill
On 21/11/14 11:30, Kyrill Tkachov wrote:
> Ping again.
>
> Thanks,
> Kyrill
>
> On 13/11/14 14:45, Kyrill Tkachov wrote:
>> Ping.
>>
>> Kyrill
>>
>> On 04/11/14 10:56, Kyrill Tkachov wrote:
>>> Phew,
>>>
>>> This one slipped through the cracks. Ping?
>>> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01981.html
>>>
>>> Thanks,
>>> Kyrill
>>>
>>> On 23/09/14 16:25, Kyrill Tkachov wrote:
>>>> On 23/09/14 16:07, Kyrill Tkachov wrote:
>>>>> Hi all,
>>>>>
>>>>> Some intrinsics had the wrong name (inconsistent with the NEON
>>>>> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
>>>>> vrndxq_f32 intrinsics that were missing.
>>>> For reference, the NEON intrinsics spec can be found at:
>>>> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
>>>>
>>>> Kyrill
>>>>
>>>>> These map down to vrintx.f32 NEON instructions (d and q forms). We
>>>>> already had builtins defined for them, just the intrinsics were not
>>>>> wired up to them properly.
>>>>>
>>>>> Tested arm-none-eabi
>>>>>
>>>>> Ok for trunk?
>>>>>
>>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>>
>>>>> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
>>>>> (vrndnq_f32): ... this.
>>>>> (vrndqa_f32): Rename to...
>>>>> (vrndaq_f32): ... this.
>>>>> (vrndqp_f32): Rename to...
>>>>> (vrndpq_f32): ... this.
>>>>> (vrndqm_f32): Rename to...
>>>>> (vrndmq_f32): ... this.
>>>>> (vrndx_f32): New intrinsic.
>>>>> (vrndxq_f32): Likewise.
>>>>>
>>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>>
>>>>> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
>>>>> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
>>>>> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
>>>>> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
>>>>> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
>>>>> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
>>>>> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
>>>>> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
>>>>> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
>>>>> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
>>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-12-01 11:43 ` Kyrill Tkachov
@ 2014-12-10 11:15 ` Kyrill Tkachov
0 siblings, 0 replies; 8+ messages in thread
From: Kyrill Tkachov @ 2014-12-10 11:15 UTC (permalink / raw)
To: gcc-patches; +Cc: Ramana Radhakrishnan, Richard Earnshaw
Ping.
Kyrill
On 01/12/14 11:43, Kyrill Tkachov wrote:
> Ping.
>
> Kyrill
>
> On 21/11/14 11:30, Kyrill Tkachov wrote:
>> Ping again.
>>
>> Thanks,
>> Kyrill
>>
>> On 13/11/14 14:45, Kyrill Tkachov wrote:
>>> Ping.
>>>
>>> Kyrill
>>>
>>> On 04/11/14 10:56, Kyrill Tkachov wrote:
>>>> Phew,
>>>>
>>>> This one slipped through the cracks. Ping?
>>>> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01981.html
>>>>
>>>> Thanks,
>>>> Kyrill
>>>>
>>>> On 23/09/14 16:25, Kyrill Tkachov wrote:
>>>>> On 23/09/14 16:07, Kyrill Tkachov wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> Some intrinsics had the wrong name (inconsistent with the NEON
>>>>>> intrinsics spec). This patch fixes that and adds the vrndx_f32 and
>>>>>> vrndxq_f32 intrinsics that were missing.
>>>>> For reference, the NEON intrinsics spec can be found at:
>>>>> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
>>>>>
>>>>> Kyrill
>>>>>
>>>>>> These map down to vrintx.f32 NEON instructions (d and q forms). We
>>>>>> already had builtins defined for them, just the intrinsics were not
>>>>>> wired up to them properly.
>>>>>>
>>>>>> Tested arm-none-eabi
>>>>>>
>>>>>> Ok for trunk?
>>>>>>
>>>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>>>
>>>>>> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
>>>>>> (vrndnq_f32): ... this.
>>>>>> (vrndqa_f32): Rename to...
>>>>>> (vrndaq_f32): ... this.
>>>>>> (vrndqp_f32): Rename to...
>>>>>> (vrndpq_f32): ... this.
>>>>>> (vrndqm_f32): Rename to...
>>>>>> (vrndmq_f32): ... this.
>>>>>> (vrndx_f32): New intrinsic.
>>>>>> (vrndxq_f32): Likewise.
>>>>>>
>>>>>> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>>>>>>
>>>>>> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
>>>>>> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
>>>>>> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
>>>>>> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
>>>>>> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
>>>>>> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
>>>>>> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
>>>>>> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
>>>>>> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
>>>>>> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
>>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
2014-09-23 15:08 [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32 Kyrill Tkachov
2014-09-23 15:25 ` Kyrill Tkachov
@ 2014-12-11 12:26 ` Ramana Radhakrishnan
1 sibling, 0 replies; 8+ messages in thread
From: Ramana Radhakrishnan @ 2014-12-11 12:26 UTC (permalink / raw)
To: Kyrill Tkachov; +Cc: GCC Patches, Ramana Radhakrishnan, Richard Earnshaw
On Tue, Sep 23, 2014 at 4:07 PM, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi all,
>
> Some intrinsics had the wrong name (inconsistent with the NEON intrinsics
> spec). This patch fixes that and adds the vrndx_f32 and vrndxq_f32
> intrinsics that were missing.
> These map down to vrintx.f32 NEON instructions (d and q forms). We already
> had builtins defined for them, just the intrinsics were not wired up to them
> properly.
>
> Tested arm-none-eabi
>
> Ok for trunk?
This is OK if no regressions.
Ramana
>
> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * config/arm/arm_neon.h (vrndqn_f32): Rename to...
> (vrndnq_f32): ... this.
> (vrndqa_f32): Rename to...
> (vrndaq_f32): ... this.
> (vrndqp_f32): Rename to...
> (vrndpq_f32): ... this.
> (vrndqm_f32): Rename to...
> (vrndmq_f32): ... this.
> (vrndx_f32): New intrinsic.
> (vrndxq_f32): Likewise.
>
> 2014-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
>
> * gcc.target/arm/simd/neon-vrndx_f32_1.c: New test.
> * gcc.target/arm/simd/neon-vrndxq_f32_1.c: Likewise.
> * gcc.target/arm/neon/vrndqaf32.c: Rename to...
> * gcc.target/arm/neon/vrndaqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqmf32.c: Rename to...
> * gcc.target/arm/neon/vrndmqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqnf32.c: Rename to...
> * gcc.target/arm/neon/vrndnqf32.c: ... This. Update intrinsic names.
> * gcc.target/arm/neon/vrndqpf32.c: Rename to...
> * gcc.target/arm/neon/vrndpqf32.c: ... This. Update intrinsic names.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-12-11 12:26 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-23 15:08 [PATCH][ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32 Kyrill Tkachov
2014-09-23 15:25 ` Kyrill Tkachov
2014-11-04 10:56 ` Kyrill Tkachov
2014-11-13 14:46 ` Kyrill Tkachov
2014-11-21 11:41 ` Kyrill Tkachov
2014-12-01 11:43 ` Kyrill Tkachov
2014-12-10 11:15 ` Kyrill Tkachov
2014-12-11 12:26 ` Ramana Radhakrishnan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).