From ad21e0072e20b7c8e4d7af5ca78f24cc6ae407d1 Mon Sep 17 00:00:00 2001 From: Will Schmidt Date: Tue, 11 Feb 2020 14:01:59 -0600 Subject: [PATCH] Add ppc_ieee128_ok target-supports proc Add a target_supports entry to check that the __ieee128 keyword is understood by the target. Also add a dg-requires check to the existing pr92796 testcase. [testsuite] * lib/target-supports.exp (check_effective_target_ppc_ieee128_ok): New. * gcc.target/powerpc/pr92796.c: Add a require-effective-target statement for ppc_ieee128_ok. --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.target/powerpc/pr92796.c | 1 + gcc/testsuite/lib/target-supports.exp | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4f591539a95..8120020e315 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-02-11 Will Schmidt + + * lib/target-supports.exp (check_effective_target_ppc_ieee128_ok): New. + * gcc.target/powerpc/pr92796.c: Add a require-effective-target + statement for ppc_ieee128_ok. + 2020-02-11 David Malcolm PR analyzer/93374 diff --git a/gcc/testsuite/gcc.target/powerpc/pr92796.c b/gcc/testsuite/gcc.target/powerpc/pr92796.c index aa15b2d07e5..da4b6a47a6a 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr92796.c +++ b/gcc/testsuite/gcc.target/powerpc/pr92796.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fstack-protector-strong -mcpu=power8" } */ +/* { dg-require-effective-target ppc_ieee128_ok } */ typedef union { diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d3b2798df3e..fb177c54aa8 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2250,6 +2250,25 @@ proc check_ppc_float128_hw_available { } { }] } +# See if the __ieee128 keyword is understood. +proc check_effective_target_ppc_ieee128_ok { } { + return [check_cached_effective_target ppc_ieee128_ok { + # disable on AIX. + if { [istarget *-*-aix*] } { + expr 0 + } else { + set options "-mfloat128" + check_runtime_nocache ppc_ieee128_ok { + int main() + { + __ieee128 a; + return 0; + } + } $options + } + }] +} + # Return 1 if the target supports executing VSX instructions, 0 # otherwise. Cache the result. -- 2.30.2