[PATCH, rs6000] Enable some existing __float128 tests for powerpc64*

Joseph Myers joseph@codesourcery.com
Wed Jun 29 16:43:00 GMT 2016


On Tue, 28 Jun 2016, Bill Schmidt wrote:

> -/* { dg-do compile { target ia64-*-* i?86-*-* x86_64-*-* } } */
> +/* { dg-do compile { target ia64-*-* i?86-*-* x86_64-*-* powerpc64*-*-* } } */
>  /* { dg-options "-pedantic" } */
> +/* { dg-additional-options "-mfloat128 -mvsx" { target powerpc64*-*-* } } */

Rather than duplicating powerpc64 references everywhere, wouldn't it be 
better to add an effective-target keyword __float128, meaning that 
__float128 is available?  Along with { dg-add-options float128 }.

Also: powerpc-* targets with -m64 should always be handled in tests 
identically to powerpc64 targets, while powerpc64 targets with -m32 should 
presumably not run these tests.  That is, testing for powerpc64*-*-* is 
actually (always, for any test, not just these ones) incorrect in both 
directions (just as it's always incorrect for a test to list just one of 
i?86-*-* and x86_64-*-*, rather than listing both and then adding any 
restrictions required to 32-bit or 64-bit).

> -/* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */
> +/* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* powerpc64*-*-* } } */
>  /* { dg-options "" } */
>  /* { dg-require-effective-target fenv_exceptions } */
> +/* { dg-additional-options "-mfloat128 -mvsx" { target powerpc64*-*-* } } */

Also: for execution tests, if you add extra options, you also need to 
restrict the test to running when the hardware actually supports the 
required features.

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Gcc-patches mailing list