testsuite: enable more BID DFP tests for AArch64
Some tests for the BID format are currently restricted to i?86 and x86_64, but they also pass on AArch64, so this patch enables them. Since all these tests are related to the BID format, it seems useful to introduce a new effective-target (dfp_bid) instead of adding aarch64 to the current target list. 2022-04-28 Christophe Lyon <christophe.lyon@arm.com> gcc/ * doc/sourcebuild.texi (Decimal floating point attributes): Document dfp_bid effective-target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_dfp_bid): New. * gcc.dg/dfp/bid-non-canonical-d128-1.c: Use dfp_bid effective-target. * gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise. * gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise.
This commit is contained in:
parent
1b99d71bb2
commit
096eaeac38
|
@ -1937,6 +1937,9 @@ test system can execute decimal floating point tests.
|
|||
|
||||
@item hard_dfp
|
||||
Target generates decimal floating point instructions with current options.
|
||||
|
||||
@item dfp_bid
|
||||
Target uses the BID format for decimal floating point.
|
||||
@end table
|
||||
|
||||
@subsubsection ARM-specific attributes
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal128. Bug 91226. */
|
||||
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
|
||||
/* { dg-do run { target lp64 } } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O2" } */
|
||||
|
||||
extern void abort (void);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* Test non-canonical BID significands: _Decimal128, case where
|
||||
combination field starts 11. Bug 91226. */
|
||||
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
|
||||
/* { dg-do run { target lp64 } } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O2" } */
|
||||
|
||||
extern void abort (void);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal128. Bug 91226. */
|
||||
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
|
||||
/* { dg-do run { target lp64 } } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O0" } */
|
||||
|
||||
#include "bid-non-canonical-d128-1.c"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* Test non-canonical BID significands: _Decimal128, case where
|
||||
combination field starts 11. Bug 91226. */
|
||||
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
|
||||
/* { dg-do run { target lp64 } } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O0" } */
|
||||
|
||||
#include "bid-non-canonical-d128-2.c"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal32. Bug 91226. */
|
||||
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O2" } */
|
||||
|
||||
extern void abort (void);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal32. Bug 91226. */
|
||||
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O0" } */
|
||||
|
||||
#include "bid-non-canonical-d32-1.c"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal64. Bug 91226. */
|
||||
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O2" } */
|
||||
|
||||
extern void abort (void);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/* Test non-canonical BID significands: _Decimal64. Bug 91226. */
|
||||
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target dfp_bid } */
|
||||
/* { dg-options "-std=gnu2x -O0" } */
|
||||
|
||||
#include "bid-non-canonical-d64-1.c"
|
||||
|
|
|
@ -3427,6 +3427,17 @@ proc check_effective_target_dfprt { } {
|
|||
}]
|
||||
}
|
||||
|
||||
# Return 1 if the target uses the BID format for Decimal Floating
|
||||
# Point, 0 otherwise.
|
||||
|
||||
proc check_effective_target_dfp_bid { } {
|
||||
if { [istarget aarch64*-*-*]
|
||||
|| [istarget i?86-*-*] || [istarget x86_64-*-*]} {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
# Return 1 iff target has unsigned plain 'char' by default.
|
||||
|
||||
proc check_effective_target_unsigned_char {} {
|
||||
|
|
Loading…
Reference in New Issue