From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2063) id 56E6B3857355; Thu, 28 Apr 2022 03:35:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 56E6B3857355 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Kewen Lin To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-8296] testsuite: Add test case for pack/unpack bifs at soft-float [PR105334] X-Act-Checkin: gcc X-Git-Author: Kewen Lin X-Git-Refname: refs/heads/master X-Git-Oldrev: d5b66a905322262483af5c4ca6cb6676c24e1f3f X-Git-Newrev: 84c1c9b013faf8cdac31db3f6612bd9d5f70ddb3 Message-Id: <20220428033540.56E6B3857355@sourceware.org> Date: Thu, 28 Apr 2022 03:35:40 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Apr 2022 03:35:40 -0000 https://gcc.gnu.org/g:84c1c9b013faf8cdac31db3f6612bd9d5f70ddb3 commit r12-8296-g84c1c9b013faf8cdac31db3f6612bd9d5f70ddb3 Author: Kewen Lin Date: Wed Apr 27 22:34:27 2022 -0500 testsuite: Add test case for pack/unpack bifs at soft-float [PR105334] This patch is to add the test coverage for the two recent fixes r12-8091 and r12-8226 from Segher, aix is skipped since it takes soft-float and long-double-128 incompatible. PR target/105334 gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr105334.c: New test. Diff: --- gcc/testsuite/gcc.target/powerpc/pr105334.c | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gcc/testsuite/gcc.target/powerpc/pr105334.c b/gcc/testsuite/gcc.target/powerpc/pr105334.c new file mode 100644 index 00000000000..7664e033dd0 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr105334.c @@ -0,0 +1,31 @@ +/* Skip this on aix, since it takes soft-float and long-double-128 + incompatible and warns it. */ +/* { dg-skip-if "aix long-double-128 soft-float" { powerpc*-*-aix* } } */ +/* { dg-options "-mlong-double-128 -msoft-float" } */ + +/* Verify there is no ICE. */ + +#include +#include +#include + +#define PACK __builtin_pack_ibm128 +#define UNPACK __builtin_unpack_ibm128 +#define LDOUBLE __ibm128 + +extern LDOUBLE bar (LDOUBLE); + +int +main (void) +{ + double high = pow (2.0, 60); + double low = 2.0; + LDOUBLE a = ((LDOUBLE) high) + ((LDOUBLE) low); + double x0 = UNPACK (a, 0); + double x1 = UNPACK (a, 1); + LDOUBLE b = PACK (x0, x1); + LDOUBLE c = bar (b); + + return c > a; +} +