public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/c++-modules] AArch64: Add FLAG for rounding intrinsics [PR94442]
@ 2020-08-28 16:08 Nathan Sidwell
  0 siblings, 0 replies; only message in thread
From: Nathan Sidwell @ 2020-08-28 16:08 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:795944c4563b4d9abf6d4bd9963f41fa1249d9d9

commit 795944c4563b4d9abf6d4bd9963f41fa1249d9d9
Author: xiezhiheng <xiezhiheng@huawei.com>
Date:   Thu Aug 27 09:07:26 2020 +0100

    AArch64: Add FLAG for rounding intrinsics [PR94442]
    
    2020-08-27  Zhiheng Xie  <xiezhiheng@huawei.com>
    
    gcc/ChangeLog:
    
            * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
            for rounding intrinsics.

Diff:
---
 gcc/config/aarch64/aarch64-simd-builtins.def | 188 +++++++++++++--------------
 1 file changed, 94 insertions(+), 94 deletions(-)

diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def
index a9b47e4ea1f..d1b21102b2f 100644
--- a/gcc/config/aarch64/aarch64-simd-builtins.def
+++ b/gcc/config/aarch64/aarch64-simd-builtins.def
@@ -332,103 +332,103 @@
   BUILTIN_VHSDF (BINOP, smin_nanp, 0, NONE)
 
   /* Implemented by <frint_pattern><mode>2.  */
-  BUILTIN_VHSDF (UNOP, btrunc, 2, ALL)
-  BUILTIN_VHSDF (UNOP, ceil, 2, ALL)
-  BUILTIN_VHSDF (UNOP, floor, 2, ALL)
-  BUILTIN_VHSDF (UNOP, nearbyint, 2, ALL)
-  BUILTIN_VHSDF (UNOP, rint, 2, ALL)
-  BUILTIN_VHSDF (UNOP, round, 2, ALL)
-  BUILTIN_VHSDF_DF (UNOP, frintn, 2, ALL)
-
-  VAR1 (UNOP, btrunc, 2, ALL, hf)
-  VAR1 (UNOP, ceil, 2, ALL, hf)
-  VAR1 (UNOP, floor, 2, ALL, hf)
-  VAR1 (UNOP, frintn, 2, ALL, hf)
-  VAR1 (UNOP, nearbyint, 2, ALL, hf)
-  VAR1 (UNOP, rint, 2, ALL, hf)
-  VAR1 (UNOP, round, 2, ALL, hf)
+  BUILTIN_VHSDF (UNOP, btrunc, 2, FP)
+  BUILTIN_VHSDF (UNOP, ceil, 2, FP)
+  BUILTIN_VHSDF (UNOP, floor, 2, FP)
+  BUILTIN_VHSDF (UNOP, nearbyint, 2, FP)
+  BUILTIN_VHSDF (UNOP, rint, 2, FP)
+  BUILTIN_VHSDF (UNOP, round, 2, FP)
+  BUILTIN_VHSDF_DF (UNOP, frintn, 2, FP)
+
+  VAR1 (UNOP, btrunc, 2, FP, hf)
+  VAR1 (UNOP, ceil, 2, FP, hf)
+  VAR1 (UNOP, floor, 2, FP, hf)
+  VAR1 (UNOP, frintn, 2, FP, hf)
+  VAR1 (UNOP, nearbyint, 2, FP, hf)
+  VAR1 (UNOP, rint, 2, FP, hf)
+  VAR1 (UNOP, round, 2, FP, hf)
 
   /* Implemented by l<fcvt_pattern><su_optab><VQDF:mode><vcvt_target>2.  */
-  VAR1 (UNOP, lbtruncv4hf, 2, ALL, v4hi)
-  VAR1 (UNOP, lbtruncv8hf, 2, ALL, v8hi)
-  VAR1 (UNOP, lbtruncv2sf, 2, ALL, v2si)
-  VAR1 (UNOP, lbtruncv4sf, 2, ALL, v4si)
-  VAR1 (UNOP, lbtruncv2df, 2, ALL, v2di)
-
-  VAR1 (UNOPUS, lbtruncuv4hf, 2, ALL, v4hi)
-  VAR1 (UNOPUS, lbtruncuv8hf, 2, ALL, v8hi)
-  VAR1 (UNOPUS, lbtruncuv2sf, 2, ALL, v2si)
-  VAR1 (UNOPUS, lbtruncuv4sf, 2, ALL, v4si)
-  VAR1 (UNOPUS, lbtruncuv2df, 2, ALL, v2di)
-
-  VAR1 (UNOP, lroundv4hf, 2, ALL, v4hi)
-  VAR1 (UNOP, lroundv8hf, 2, ALL, v8hi)
-  VAR1 (UNOP, lroundv2sf, 2, ALL, v2si)
-  VAR1 (UNOP, lroundv4sf, 2, ALL, v4si)
-  VAR1 (UNOP, lroundv2df, 2, ALL, v2di)
+  VAR1 (UNOP, lbtruncv4hf, 2, FP, v4hi)
+  VAR1 (UNOP, lbtruncv8hf, 2, FP, v8hi)
+  VAR1 (UNOP, lbtruncv2sf, 2, FP, v2si)
+  VAR1 (UNOP, lbtruncv4sf, 2, FP, v4si)
+  VAR1 (UNOP, lbtruncv2df, 2, FP, v2di)
+
+  VAR1 (UNOPUS, lbtruncuv4hf, 2, FP, v4hi)
+  VAR1 (UNOPUS, lbtruncuv8hf, 2, FP, v8hi)
+  VAR1 (UNOPUS, lbtruncuv2sf, 2, FP, v2si)
+  VAR1 (UNOPUS, lbtruncuv4sf, 2, FP, v4si)
+  VAR1 (UNOPUS, lbtruncuv2df, 2, FP, v2di)
+
+  VAR1 (UNOP, lroundv4hf, 2, FP, v4hi)
+  VAR1 (UNOP, lroundv8hf, 2, FP, v8hi)
+  VAR1 (UNOP, lroundv2sf, 2, FP, v2si)
+  VAR1 (UNOP, lroundv4sf, 2, FP, v4si)
+  VAR1 (UNOP, lroundv2df, 2, FP, v2di)
   /* Implemented by l<fcvt_pattern><su_optab><GPF_F16:mode><GPI:mode>2.  */
-  BUILTIN_GPI_I16 (UNOP, lroundhf, 2, ALL)
-  VAR1 (UNOP, lroundsf, 2, ALL, si)
-  VAR1 (UNOP, lrounddf, 2, ALL, di)
-
-  VAR1 (UNOPUS, lrounduv4hf, 2, ALL, v4hi)
-  VAR1 (UNOPUS, lrounduv8hf, 2, ALL, v8hi)
-  VAR1 (UNOPUS, lrounduv2sf, 2, ALL, v2si)
-  VAR1 (UNOPUS, lrounduv4sf, 2, ALL, v4si)
-  VAR1 (UNOPUS, lrounduv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOPUS, lrounduhf, 2, ALL)
-  VAR1 (UNOPUS, lroundusf, 2, ALL, si)
-  VAR1 (UNOPUS, lroundudf, 2, ALL, di)
-
-  VAR1 (UNOP, lceilv4hf, 2, ALL, v4hi)
-  VAR1 (UNOP, lceilv8hf, 2, ALL, v8hi)
-  VAR1 (UNOP, lceilv2sf, 2, ALL, v2si)
-  VAR1 (UNOP, lceilv4sf, 2, ALL, v4si)
-  VAR1 (UNOP, lceilv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOP, lceilhf, 2, ALL)
-
-  VAR1 (UNOPUS, lceiluv4hf, 2, ALL, v4hi)
-  VAR1 (UNOPUS, lceiluv8hf, 2, ALL, v8hi)
-  VAR1 (UNOPUS, lceiluv2sf, 2, ALL, v2si)
-  VAR1 (UNOPUS, lceiluv4sf, 2, ALL, v4si)
-  VAR1 (UNOPUS, lceiluv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOPUS, lceiluhf, 2, ALL)
-  VAR1 (UNOPUS, lceilusf, 2, ALL, si)
-  VAR1 (UNOPUS, lceiludf, 2, ALL, di)
-
-  VAR1 (UNOP, lfloorv4hf, 2, ALL, v4hi)
-  VAR1 (UNOP, lfloorv8hf, 2, ALL, v8hi)
-  VAR1 (UNOP, lfloorv2sf, 2, ALL, v2si)
-  VAR1 (UNOP, lfloorv4sf, 2, ALL, v4si)
-  VAR1 (UNOP, lfloorv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOP, lfloorhf, 2, ALL)
-
-  VAR1 (UNOPUS, lflooruv4hf, 2, ALL, v4hi)
-  VAR1 (UNOPUS, lflooruv8hf, 2, ALL, v8hi)
-  VAR1 (UNOPUS, lflooruv2sf, 2, ALL, v2si)
-  VAR1 (UNOPUS, lflooruv4sf, 2, ALL, v4si)
-  VAR1 (UNOPUS, lflooruv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOPUS, lflooruhf, 2, ALL)
-  VAR1 (UNOPUS, lfloorusf, 2, ALL, si)
-  VAR1 (UNOPUS, lfloorudf, 2, ALL, di)
-
-  VAR1 (UNOP, lfrintnv4hf, 2, ALL, v4hi)
-  VAR1 (UNOP, lfrintnv8hf, 2, ALL, v8hi)
-  VAR1 (UNOP, lfrintnv2sf, 2, ALL, v2si)
-  VAR1 (UNOP, lfrintnv4sf, 2, ALL, v4si)
-  VAR1 (UNOP, lfrintnv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOP, lfrintnhf, 2, ALL)
-  VAR1 (UNOP, lfrintnsf, 2, ALL, si)
-  VAR1 (UNOP, lfrintndf, 2, ALL, di)
-
-  VAR1 (UNOPUS, lfrintnuv4hf, 2, ALL, v4hi)
-  VAR1 (UNOPUS, lfrintnuv8hf, 2, ALL, v8hi)
-  VAR1 (UNOPUS, lfrintnuv2sf, 2, ALL, v2si)
-  VAR1 (UNOPUS, lfrintnuv4sf, 2, ALL, v4si)
-  VAR1 (UNOPUS, lfrintnuv2df, 2, ALL, v2di)
-  BUILTIN_GPI_I16 (UNOPUS, lfrintnuhf, 2, ALL)
-  VAR1 (UNOPUS, lfrintnusf, 2, ALL, si)
-  VAR1 (UNOPUS, lfrintnudf, 2, ALL, di)
+  BUILTIN_GPI_I16 (UNOP, lroundhf, 2, FP)
+  VAR1 (UNOP, lroundsf, 2, FP, si)
+  VAR1 (UNOP, lrounddf, 2, FP, di)
+
+  VAR1 (UNOPUS, lrounduv4hf, 2, FP, v4hi)
+  VAR1 (UNOPUS, lrounduv8hf, 2, FP, v8hi)
+  VAR1 (UNOPUS, lrounduv2sf, 2, FP, v2si)
+  VAR1 (UNOPUS, lrounduv4sf, 2, FP, v4si)
+  VAR1 (UNOPUS, lrounduv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOPUS, lrounduhf, 2, FP)
+  VAR1 (UNOPUS, lroundusf, 2, FP, si)
+  VAR1 (UNOPUS, lroundudf, 2, FP, di)
+
+  VAR1 (UNOP, lceilv4hf, 2, FP, v4hi)
+  VAR1 (UNOP, lceilv8hf, 2, FP, v8hi)
+  VAR1 (UNOP, lceilv2sf, 2, FP, v2si)
+  VAR1 (UNOP, lceilv4sf, 2, FP, v4si)
+  VAR1 (UNOP, lceilv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOP, lceilhf, 2, FP)
+
+  VAR1 (UNOPUS, lceiluv4hf, 2, FP, v4hi)
+  VAR1 (UNOPUS, lceiluv8hf, 2, FP, v8hi)
+  VAR1 (UNOPUS, lceiluv2sf, 2, FP, v2si)
+  VAR1 (UNOPUS, lceiluv4sf, 2, FP, v4si)
+  VAR1 (UNOPUS, lceiluv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOPUS, lceiluhf, 2, FP)
+  VAR1 (UNOPUS, lceilusf, 2, FP, si)
+  VAR1 (UNOPUS, lceiludf, 2, FP, di)
+
+  VAR1 (UNOP, lfloorv4hf, 2, FP, v4hi)
+  VAR1 (UNOP, lfloorv8hf, 2, FP, v8hi)
+  VAR1 (UNOP, lfloorv2sf, 2, FP, v2si)
+  VAR1 (UNOP, lfloorv4sf, 2, FP, v4si)
+  VAR1 (UNOP, lfloorv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOP, lfloorhf, 2, FP)
+
+  VAR1 (UNOPUS, lflooruv4hf, 2, FP, v4hi)
+  VAR1 (UNOPUS, lflooruv8hf, 2, FP, v8hi)
+  VAR1 (UNOPUS, lflooruv2sf, 2, FP, v2si)
+  VAR1 (UNOPUS, lflooruv4sf, 2, FP, v4si)
+  VAR1 (UNOPUS, lflooruv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOPUS, lflooruhf, 2, FP)
+  VAR1 (UNOPUS, lfloorusf, 2, FP, si)
+  VAR1 (UNOPUS, lfloorudf, 2, FP, di)
+
+  VAR1 (UNOP, lfrintnv4hf, 2, FP, v4hi)
+  VAR1 (UNOP, lfrintnv8hf, 2, FP, v8hi)
+  VAR1 (UNOP, lfrintnv2sf, 2, FP, v2si)
+  VAR1 (UNOP, lfrintnv4sf, 2, FP, v4si)
+  VAR1 (UNOP, lfrintnv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOP, lfrintnhf, 2, FP)
+  VAR1 (UNOP, lfrintnsf, 2, FP, si)
+  VAR1 (UNOP, lfrintndf, 2, FP, di)
+
+  VAR1 (UNOPUS, lfrintnuv4hf, 2, FP, v4hi)
+  VAR1 (UNOPUS, lfrintnuv8hf, 2, FP, v8hi)
+  VAR1 (UNOPUS, lfrintnuv2sf, 2, FP, v2si)
+  VAR1 (UNOPUS, lfrintnuv4sf, 2, FP, v4si)
+  VAR1 (UNOPUS, lfrintnuv2df, 2, FP, v2di)
+  BUILTIN_GPI_I16 (UNOPUS, lfrintnuhf, 2, FP)
+  VAR1 (UNOPUS, lfrintnusf, 2, FP, si)
+  VAR1 (UNOPUS, lfrintnudf, 2, FP, di)
 
   /* Implemented by <optab><fcvt_target><VDQF:mode>2.  */
   VAR1 (UNOP, floatv4hi, 2, ALL, v4hf)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-28 16:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-28 16:08 [gcc/devel/c++-modules] AArch64: Add FLAG for rounding intrinsics [PR94442] Nathan Sidwell

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).