aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCarl Love <cel@us.ibm.com>2018-03-28 23:08:16 +0000
committerCarl Love <carll@gcc.gnu.org>2018-03-28 23:08:16 +0000
commit604e36ed96b2136fc24edecf675235c39fcfd6de (patch)
tree83e6d62a5730bf2b70fde764daff316d195acd56 /gcc
parent69c94135fc0d62a7ccb017dcc0e0b79c44d3d26e (diff)
downloadgcc-604e36ed96b2136fc24edecf675235c39fcfd6de.zip
gcc-604e36ed96b2136fc24edecf675235c39fcfd6de.tar.gz
gcc-604e36ed96b2136fc24edecf675235c39fcfd6de.tar.bz2
revert: rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
gcc/ChangeLog: 2018-03-20 Carl Love <cel@us.ibm.com> Revert 2017-09-27 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro. (FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins. * config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the fctiw instruction. gcc/testsuite/ChangeLog: 2018-03-20 Carl Love <cel@us.ibm.com> Revert 2017-09-27 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file for the __builtin_fctid and __builtin_fctiw. From-SVN: r258942
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/rs6000/rs6000-builtin.def14
-rw-r--r--gcc/config/rs6000/rs6000.md8
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.target/powerpc/builtin-fctid-fctiw-runnable.c137
5 files changed, 18 insertions, 159 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48eeecb..e4d0060 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2018-03-20 Carl Love <cel@us.ibm.com>
+
+ Revert
+ 2017-09-27 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
+ (FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
+ * config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
+ fctiw instruction.
+
2018-03-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool
diff --git a/gcc/config/rs6000/rs6000-builtin.def b/gcc/config/rs6000/rs6000-builtin.def
index 6bf972a..5bb30aa 100644
--- a/gcc/config/rs6000/rs6000-builtin.def
+++ b/gcc/config/rs6000/rs6000-builtin.def
@@ -615,17 +615,6 @@
| RS6000_BTC_BINARY), \
CODE_FOR_ ## ICODE) /* ICODE */
-
-/* Miscellaneous builtins for instructions added prior to ISA 2.04. These
- operate on floating point registers. */
-#define BU_FP_MISC_1(ENUM, NAME, ATTR, ICODE) \
- RS6000_BUILTIN_1 (MISC_BUILTIN_ ## ENUM, /* ENUM */ \
- "__builtin_" NAME, /* NAME */ \
- RS6000_BTM_HARD_FLOAT, /* MASK */ \
- (RS6000_BTC_ ## ATTR /* ATTR */ \
- | RS6000_BTC_UNARY), \
- CODE_FOR_ ## ICODE) /* ICODE */
-
/* Miscellaneous builtins for instructions added in ISA 2.06. These
instructions don't require either the DFP or VSX options, just the basic ISA
2.06 (popcntd) enablement since they operate on general purpose
@@ -1866,9 +1855,6 @@ BU_VSX_OVERLOAD_X (XL_BE, "xl_be")
BU_VSX_OVERLOAD_X (XST, "xst")
BU_VSX_OVERLOAD_X (XST_BE, "xst_be")
-/* 1 argument builtins pre ISA 2.04. */
-BU_FP_MISC_1 (FCTID, "fctid", CONST, lrintdfdi2)
-BU_FP_MISC_1 (FCTIW, "fctiw", CONST, lrintsfsi2)
/* 2 argument CMPB instructions added in ISA 2.05. */
BU_P6_2 (CMPB_32, "cmpb_32", CONST, cmpbsi3)
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index faae357..d08e232 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5908,14 +5908,6 @@
[(set_attr "type" "fpload")
(set_attr "length" "16")])
-(define_insn "lrintsfsi2"
- [(set (match_operand:SI 0 "gpc_reg_operand" "=d")
- (unspec:SI [(match_operand:DF 1 "gpc_reg_operand" "d")]
- UNSPEC_FCTIW))]
- "TARGET_SF_FPR && TARGET_FPRND"
- "fctiw %0,%1"
- [(set_attr "type" "fp")])
-
;; No VSX equivalent to fctid
(define_insn "lrint<mode>di2"
[(set (match_operand:DI 0 "gpc_reg_operand" "=d")
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bb665fc..cb5c2c3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2018-03-20 Carl Love <cel@us.ibm.com>
+
+ Revert
+ 2017-09-27 Carl Love <cel@us.ibm.com>
+
+ * gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
+ for the __builtin_fctid and __builtin_fctiw.
+
2018-03-28 Peter Bergner <bergner@vnet.ibm.com>
PR target/84912
diff --git a/gcc/testsuite/gcc.target/powerpc/builtin-fctid-fctiw-runnable.c b/gcc/testsuite/gcc.target/powerpc/builtin-fctid-fctiw-runnable.c
deleted file mode 100644
index b99fae3..0000000
--- a/gcc/testsuite/gcc.target/powerpc/builtin-fctid-fctiw-runnable.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* { dg-do run { target { powerpc*-*-* && { lp64 && p8vector_hw } } } } */
-/* { dg-options "-mcpu=power8" } */
-
-#ifdef DEBUG
-#include <stdio.h>
-#endif
-
-void abort (void);
-
-long
-test_bi_lrint_1 (float __A)
-{
- return (__builtin_fctid (__A));
-}
-long
-test_bi_lrint_2 (double __A)
-{
- return (__builtin_fctid (__A));
-}
-
-int
-test_bi_rint_1 (float __A)
-{
- return (__builtin_fctiw (__A));
-}
-
-int
-test_bi_rint_2 (double __A)
-{
- return (__builtin_fctiw (__A));
-}
-
-
-int main( void)
-{
- signed long lx, expected_l;
- double dy;
-
- signed int x, expected_i;
- float y;
-
- dy = 1.45;
- expected_l = 1;
- lx = __builtin_fctid (dy);
-
- if( lx != expected_l)
-#ifdef DEBUG
- printf("ERROR: __builtin_fctid(dy= %f) = %ld, expected %ld\n",
- dy, lx, expected_l);
-#else
- abort();
-#endif
-
- dy = 3.51;
- expected_l = 4;
- lx = __builtin_fctid (dy);
-
- if( lx != expected_l)
-#ifdef DEBUG
- printf("ERROR: __builtin_fctid(dy= %f) = %ld, expected %ld\n",
- dy, lx, expected_l);
-#else
- abort();
-#endif
-
- dy = 5.57;
- expected_i = 6;
- x = __builtin_fctiw (dy);
-
- if( x != expected_i)
-#ifdef DEBUG
- printf("ERROR: __builtin_fctiw(dy= %f) = %d, expected %d\n",
- dy, x, expected_i);
-#else
- abort();
-#endif
-
- y = 11.47;
- expected_i = 11;
- x = __builtin_fctiw (y);
-
- if( x != expected_i)
-#ifdef DEBUG
- printf("ERROR: __builtin_fctiw(y = %f) = %d, expected %d\n",
- y, x, expected_i);
-#else
- abort();
-#endif
-
- y = 17.77;
- expected_l = 18;
- lx = test_bi_lrint_1 (y);
-
- if( lx != expected_l)
-#ifdef DEBUG
- printf("ERROR: function call test_bi_lrint_1 (y = %f) = %ld, expected %ld\n",
- y, lx, expected_l);
-#else
- abort();
-#endif
-
- dy = 7.1;
- expected_l = 7;
- lx = test_bi_lrint_2 (dy);
-
- if( lx != expected_l)
-#ifdef DEBUG
- printf("ERROR: function call test_bi_lrint_2 (dy = %f) = %ld, expected %ld\n",
- dy, lx, expected_l);
-#else
- abort();
-#endif
-
- y = 0.001;
- expected_i = 0;
- x = test_bi_rint_1 (y);
-
- if( x != expected_i)
-#ifdef DEBUG
- printf("ERROR: function call test_bi_rint_1 (y = %f) = %d, expected %d\n",
- y, x, expected_i);
-#else
- abort();
-#endif
-
- dy = 0.9999;
- expected_i = 1;
- x = test_bi_rint_2 (dy);
-
- if( x != expected_i)
-#ifdef DEBUG
- printf("ERROR: function call test_bi_rint_2 (dy = %f) = %d, expected %d\n",
- dy, x, expected_i);
-#else
- abort();
-#endif
-}