public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [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).