aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-11-17 18:56:21 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-11-17 18:56:21 +0000
commit98937c6816d7fae32832901e05582b8730c0aaf5 (patch)
treed93aac275b2624b635d47ec169b1c2c1d71038c2 /gcc/config
parent70439f0d61b811fa5b9a77fcdf40c6353daa8f75 (diff)
downloadgcc-98937c6816d7fae32832901e05582b8730c0aaf5.zip
gcc-98937c6816d7fae32832901e05582b8730c0aaf5.tar.gz
gcc-98937c6816d7fae32832901e05582b8730c0aaf5.tar.bz2
Simplify ix86_builtin_vectorized_function
After the previous patches it's no longer necessary for TARGET_BUILTIN_VECTORIZED_FUNCTION to return functions that map to the vector optab of the original operation. We'll use a vector form of the internal function instead. Tested on x86_64-linux-gnu. gcc/ * config/i386/i386.c (ix86_builtin_vectorized_function): Remove entries that map directly to optabs. From-SVN: r230493
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 763230a..e752e62 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -42012,27 +42012,6 @@ ix86_builtin_vectorized_function (unsigned int fn, tree type_out,
switch (fn)
{
- CASE_CFN_SQRT:
- if (out_mode == DFmode && in_mode == DFmode)
- {
- if (out_n == 2 && in_n == 2)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPD);
- else if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPD256);
- else if (out_n == 8 && in_n == 8)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPD512);
- }
- if (out_mode == SFmode && in_mode == SFmode)
- {
- if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPS_NR);
- else if (out_n == 8 && in_n == 8)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPS_NR256);
- else if (out_n == 16 && in_n == 16)
- return ix86_get_builtin (IX86_BUILTIN_SQRTPS_NR512);
- }
- break;
-
CASE_CFN_EXP2:
if (out_mode == SFmode && in_mode == SFmode)
{
@@ -42135,27 +42114,6 @@ ix86_builtin_vectorized_function (unsigned int fn, tree type_out,
}
break;
- CASE_CFN_COPYSIGN:
- if (out_mode == DFmode && in_mode == DFmode)
- {
- if (out_n == 2 && in_n == 2)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPD);
- else if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPD256);
- else if (out_n == 8 && in_n == 8)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPD512);
- }
- if (out_mode == SFmode && in_mode == SFmode)
- {
- if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPS);
- else if (out_n == 8 && in_n == 8)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPS256);
- else if (out_n == 16 && in_n == 16)
- return ix86_get_builtin (IX86_BUILTIN_CPYSGNPS512);
- }
- break;
-
CASE_CFN_FLOOR:
/* The round insn does not trap on denormals. */
if (flag_trapping_math || !TARGET_ROUND)
@@ -42240,27 +42198,6 @@ ix86_builtin_vectorized_function (unsigned int fn, tree type_out,
}
break;
- CASE_CFN_ROUND:
- /* The round insn does not trap on denormals. */
- if (flag_trapping_math || !TARGET_ROUND)
- break;
-
- if (out_mode == DFmode && in_mode == DFmode)
- {
- if (out_n == 2 && in_n == 2)
- return ix86_get_builtin (IX86_BUILTIN_ROUNDPD_AZ);
- else if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_ROUNDPD_AZ256);
- }
- if (out_mode == SFmode && in_mode == SFmode)
- {
- if (out_n == 4 && in_n == 4)
- return ix86_get_builtin (IX86_BUILTIN_ROUNDPS_AZ);
- else if (out_n == 8 && in_n == 8)
- return ix86_get_builtin (IX86_BUILTIN_ROUNDPS_AZ256);
- }
- break;
-
CASE_CFN_FMA:
if (out_mode == DFmode && in_mode == DFmode)
{