aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2017-11-16 18:35:42 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2017-11-16 18:35:42 +0000
commit285346b5eba02c9a21351355de4cb7fb7d2b91ef (patch)
treeb8ec31b4c708b12abd82f17753c7a6f7dd4c8d2e /gcc/config/rs6000
parent9d99775c34864d030d97b6a5ea5987616ff37468 (diff)
downloadgcc-285346b5eba02c9a21351355de4cb7fb7d2b91ef.zip
gcc-285346b5eba02c9a21351355de4cb7fb7d2b91ef.tar.gz
gcc-285346b5eba02c9a21351355de4cb7fb7d2b91ef.tar.bz2
rs6000.c (rs6000_expand_builtin): Do not do the switch statement mapping KF built-ins to TF built-ins if...
[gcc] 2017-11-15 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_expand_builtin): Do not do the switch statement mapping KF built-ins to TF built-ins if we don't have the proper ISA 3.0 assembler support. [gcc/testsuite] 2017-11-15 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/bfp/bfp.exp: Look for *.c files, not *.c* files to prevent ~ files from getting recognized. * gcc.target/powerpc/dfp/dfp.exp: Likewise. * gcc.target/powerpc/vsu/vsu.exp: Likewise. From-SVN: r254839
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/rs6000.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 80499fd..d19a4cf 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -16690,7 +16690,10 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
double (KFmode) or long double is IEEE 128-bit (TFmode). It is simpler if
we only define one variant of the built-in function, and switch the code
when defining it, rather than defining two built-ins and using the
- overload table in rs6000-c.c to switch between the two. */
+ overload table in rs6000-c.c to switch between the two. If we don't have
+ the proper assembler, don't do this switch because CODE_FOR_*kf* and
+ CODE_FOR_*tf* will be CODE_FOR_nothing. */
+#ifdef HAVE_AS_POWER9
if (FLOAT128_IEEE_P (TFmode))
switch (icode)
{
@@ -16711,6 +16714,7 @@ rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
case CODE_FOR_xsiexpqpf_kf: icode = CODE_FOR_xsiexpqpf_tf; break;
case CODE_FOR_xststdcqp_kf: icode = CODE_FOR_xststdcqp_tf; break;
}
+#endif
if (TARGET_DEBUG_BUILTIN)
{