aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2011-03-16 20:04:40 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2011-03-16 13:04:40 -0700
commit585e9d9de3a60692b1d3b0e91dac9f9ec298e142 (patch)
treeb331ef40551a88394940d5e845e863991285c404 /gcc
parent0136dc743ab537adaedffe94934c73f05e9d0204 (diff)
downloadgcc-585e9d9de3a60692b1d3b0e91dac9f9ec298e142.zip
gcc-585e9d9de3a60692b1d3b0e91dac9f9ec298e142.tar.gz
gcc-585e9d9de3a60692b1d3b0e91dac9f9ec298e142.tar.bz2
Check TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
2011-03-16 H.J. Lu <hongjiu.lu@intel.com> PR target/48154 * config/i386/i386.c (ix86_builtin_vectorized_function): Check TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins. From-SVN: r171069
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c16
2 files changed, 14 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index faf65fc..10a1548 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48154
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Check
+ TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
+
2011-03-16 Jeff Law <law@redhat.com>
* tree-vrp.c (identify_jump_threads): Slightly simplify type
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1a3c97f..a25ff7e 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -27659,7 +27659,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_FLOOR:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == DFmode && in_mode == DFmode)
@@ -27673,7 +27673,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_FLOORF:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == SFmode && in_mode == SFmode)
@@ -27687,7 +27687,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_CEIL:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == DFmode && in_mode == DFmode)
@@ -27701,7 +27701,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_CEILF:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == SFmode && in_mode == SFmode)
@@ -27715,7 +27715,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_TRUNC:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == DFmode && in_mode == DFmode)
@@ -27729,7 +27729,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_TRUNCF:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == SFmode && in_mode == SFmode)
@@ -27743,7 +27743,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_RINT:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == DFmode && in_mode == DFmode)
@@ -27757,7 +27757,7 @@ ix86_builtin_vectorized_function (tree fndecl, tree type_out,
case BUILT_IN_RINTF:
/* The round insn does not trap on denormals. */
- if (flag_trapping_math)
+ if (flag_trapping_math || !TARGET_ROUND)
break;
if (out_mode == SFmode && in_mode == SFmode)