rs6000-builtin.def: Add BU_P8V_VSX_2 macro definition.
authorCarl Love <cel@us.ibm.com>
Fri, 16 Feb 2018 18:36:55 +0000 (18:36 +0000)
committerCarl Love <carll@gcc.gnu.org>
Fri, 16 Feb 2018 18:36:55 +0000 (18:36 +0000)
gcc/ChangeLog:

2018-02-16  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-builtin.def: Add BU_P8V_VSX_2 macro definition.
Change FLOAT2 expansions from BU_VSX_2 to BU_P8V_VSX_2 and
from BU_VSX_OVERLOAD_2 to BU_P8V_OVERLOAD_2.
* config/rs6000/rs6000-c.c: Changed macro VSX_BUILTIN_VEC_FLOAT2
expansion to P8V_BUILTIN_VEC_FLOAT2.

From-SVN: r257752

gcc/ChangeLog
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-c.c

index 4a1a36fd4a4bafbfb7d6d7077c9c0ca37ee5f423..5bf27188e92781bdd7a5f1ffd05e528d9f1eef0a 100644 (file)
@@ -1,3 +1,11 @@
+2018-02-16  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def: Add BU_P8V_VSX_2 macro definition.
+       Change FLOAT2 expansions from BU_VSX_2 to BU_P8V_VSX_2 and
+       from BU_VSX_OVERLOAD_2 to BU_P8V_OVERLOAD_2.
+       * config/rs6000/rs6000-c.c: Changed macro VSX_BUILTIN_VEC_FLOAT2
+       expansion to P8V_BUILTIN_VEC_FLOAT2.
+
 2018-02-16  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/70023
index 16fb18d53147c81582ecd35c8cf92775657b8173..3ffad948f7d8ac54e1fa6921ba80d110a443ed0e 100644 (file)
                     | RS6000_BTC_UNARY),                               \
                    CODE_FOR_ ## ICODE)                 /* ICODE */
 
+#define BU_P8V_VSX_2(ENUM, NAME, ATTR, ICODE)                          \
+  RS6000_BUILTIN_2 (P8V_BUILTIN_ ## ENUM,              /* ENUM */      \
+                   "__builtin_vsx_" NAME,              /* NAME */      \
+                   RS6000_BTM_P8_VECTOR,               /* MASK */      \
+                   (RS6000_BTC_ ## ATTR                /* ATTR */      \
+                    | RS6000_BTC_BINARY),                              \
+                   CODE_FOR_ ## ICODE)                 /* ICODE */
+
 #define BU_P8V_OVERLOAD_1(ENUM, NAME)                                  \
   RS6000_BUILTIN_1 (P8V_BUILTIN_VEC_ ## ENUM,          /* ENUM */      \
                    "__builtin_vec_" NAME,              /* NAME */      \
@@ -1659,9 +1667,6 @@ BU_VSX_2 (CMPLE_U16QI,        "cmple_u16qi",    CONST,  vector_ngtuv16qi)
 BU_VSX_2 (CMPLE_U8HI,         "cmple_u8hi",     CONST,  vector_ngtuv8hi)
 BU_VSX_2 (CMPLE_U4SI,         "cmple_u4si",     CONST,  vector_ngtuv4si)
 BU_VSX_2 (CMPLE_U2DI,         "cmple_u2di",     CONST,  vector_ngtuv2di)
-BU_VSX_2 (FLOAT2_V2DF,        "float2_v2df",    CONST,  float2_v2df)
-BU_VSX_2 (FLOAT2_V2DI,        "float2_v2di",    CONST,  float2_v2di)
-BU_VSX_2 (UNS_FLOAT2_V2DI,    "uns_float2_v2di",    CONST,  uns_float2_v2di)
 
 BU_VSX_2 (VEC_VSIGNED2_V2DF,      "vsigned2_v2df",    CONST,  vsigned2_v2df)
 BU_VSX_2 (VEC_VUNSIGNED2_V2DF,    "vunsigned2_v2df",  CONST,  vunsigned2_v2df)
@@ -1856,8 +1861,6 @@ BU_VSX_OVERLOAD_2 (XXMRGHW,  "xxmrghw")
 BU_VSX_OVERLOAD_2 (XXMRGLW,  "xxmrglw")
 BU_VSX_OVERLOAD_2 (XXSPLTD,  "xxspltd")
 BU_VSX_OVERLOAD_2 (XXSPLTW,  "xxspltw")
-BU_VSX_OVERLOAD_2 (FLOAT2,   "float2")
-BU_VSX_OVERLOAD_2 (UNS_FLOAT2,   "uns_float2")
 BU_VSX_OVERLOAD_2 (VSIGNED2,     "vsigned2")
 BU_VSX_OVERLOAD_2 (VUNSIGNED2,   "vunsigned2")
 
@@ -1910,6 +1913,11 @@ BU_P8V_VSX_1 (REVB_V16QI,     "revb_v16qi",      CONST,  revb_v16qi)
 BU_P8V_VSX_1 (REVB_V2DF,      "revb_v2df",     CONST,  revb_v2df)
 BU_P8V_VSX_1 (REVB_V4SF,      "revb_v4sf",     CONST,  revb_v4sf)
 
+/* 2 argument VSX instructions added in ISA 2.07.  */
+BU_P8V_VSX_2 (FLOAT2_V2DF,        "float2_v2df",       CONST,  float2_v2df)
+BU_P8V_VSX_2 (FLOAT2_V2DI,        "float2_v2di",       CONST,  float2_v2di)
+BU_P8V_VSX_2 (UNS_FLOAT2_V2DI,    "uns_float2_v2di",    CONST,  uns_float2_v2di)
+
 /* 1 argument altivec instructions added in ISA 2.07.  */
 BU_P8V_AV_1 (ABS_V2DI,       "abs_v2di",       CONST,  absv2di2)
 BU_P8V_AV_1 (VUPKHSW,        "vupkhsw",        CONST,  altivec_vupkhsw)
@@ -2052,6 +2060,8 @@ BU_P8V_OVERLOAD_2 (VSRD,  "vsrd")
 BU_P8V_OVERLOAD_2 (VSUBCUQ,    "vsubcuq")
 BU_P8V_OVERLOAD_2 (VSUBUDM,    "vsubudm")
 BU_P8V_OVERLOAD_2 (VSUBUQM,    "vsubuqm")
+BU_P8V_OVERLOAD_2 (FLOAT2,   "float2")
+BU_P8V_OVERLOAD_2 (UNS_FLOAT2,   "uns_float2")
 
 /* ISA 2.07 vector overloaded 3 argument functions.  */
 BU_P8V_OVERLOAD_3 (VADDECUQ,   "vaddecuq")
index 56370787b466681810691b3c361ec2fea60a6499..4b6bf5325bde385e07dce43784380c99f625c200 100644 (file)
@@ -1542,11 +1542,11 @@ const struct altivec_builtin_types altivec_overloaded_builtins[] = {
     RS6000_BTI_V4SF, RS6000_BTI_V4SI, 0, 0 },
   { VSX_BUILTIN_VEC_FLOAT, VSX_BUILTIN_XVCVUXWSP_V4SF,
     RS6000_BTI_V4SF, RS6000_BTI_unsigned_V4SI, 0, 0 },
-  { VSX_BUILTIN_VEC_FLOAT2, VSX_BUILTIN_FLOAT2_V2DF,
+  { P8V_BUILTIN_VEC_FLOAT2, P8V_BUILTIN_FLOAT2_V2DF,
     RS6000_BTI_V4SF, RS6000_BTI_V2DF, RS6000_BTI_V2DF, 0 },
-  { VSX_BUILTIN_VEC_FLOAT2, VSX_BUILTIN_FLOAT2_V2DI,
+  { P8V_BUILTIN_VEC_FLOAT2, P8V_BUILTIN_FLOAT2_V2DI,
     RS6000_BTI_V4SF, RS6000_BTI_V2DI, RS6000_BTI_V2DI, 0 },
-  { VSX_BUILTIN_VEC_FLOAT2, VSX_BUILTIN_UNS_FLOAT2_V2DI,
+  { P8V_BUILTIN_VEC_FLOAT2, P8V_BUILTIN_UNS_FLOAT2_V2DI,
     RS6000_BTI_V4SF, RS6000_BTI_unsigned_V2DI,
     RS6000_BTI_unsigned_V2DI, 0 },
   { VSX_BUILTIN_VEC_FLOATE, VSX_BUILTIN_FLOATE_V2DF,