Use `gcc-dg-runtest' test driver rather than `dg-runtest' to run the
Alpha testsuite as several targets already do. Add `-Og -g' and `-Oz'
as well via ADDITIONAL_TORTURE_OPTIONS to expand coverage. Adjust test
options across individual test cases accordingly where required.
Discard base-2.c, cix-2.c, and max-2.c test cases as they merely are
optimization variants of base-1.c, cix-1.c, and max-1.c respectively,
run at `-O2' rather than the default level (`-O0'), now covered by the
framework with the latter ones in a generic way.
Old test results:
=== gcc Summary ===
# of expected passes 44
vs new ones:
=== gcc Summary ===
# of expected passes 364
# of unsupported tests 5
gcc/testsuite/
* gcc.target/alpha/alpha.exp: Use `gcc-dg-runtest' rather than
`dg-runtest'. Add `-Og -g' and `-Oz' variants via
ADDITIONAL_TORTURE_OPTIONS.
* gcc.target/alpha/
20000715-1.c: Adjust test options
accordingly.
* gcc.target/alpha/
20011018-1.c: Likewise.
* gcc.target/alpha/980217-1.c: Likewise.
* gcc.target/alpha/asm-1.c: Likewise.
* gcc.target/alpha/pr105209.c: Likewise.
* gcc.target/alpha/pr106966.c: Likewise.
* gcc.target/alpha/pr115297.c: Likewise.
* gcc.target/alpha/pr115526.c: Likewise.
* gcc.target/alpha/pr19518.c: Likewise.
* gcc.target/alpha/pr22093.c: Likewise.
* gcc.target/alpha/pr24178.c: Likewise.
* gcc.target/alpha/pr39740.c: Likewise.
* gcc.target/alpha/pr42113.c: Likewise.
* gcc.target/alpha/pr42269-1.c: Likewise.
* gcc.target/alpha/pr42448-1.c: Likewise.
* gcc.target/alpha/pr42448-2.c: Likewise.
* gcc.target/alpha/pr42774.c: Likewise.
* gcc.target/alpha/pr61586.c: Likewise.
* gcc.target/alpha/pr66140.c: Likewise.
* gcc.target/alpha/pr83628-1.c: Likewise.
* gcc.target/alpha/pr83628-2.c: Likewise.
* gcc.target/alpha/pr83628-3.c: Likewise.
* gcc.target/alpha/pr86984.c: Likewise.
* gcc.target/alpha/sqrt.c: Likewise.
* gcc.target/alpha/base-2.c: Remove file.
* gcc.target/alpha/cix-2.c: Remove file.
* gcc.target/alpha/max-2.c: Remove file.
/* { dg-do compile } */
-/* { dg-options "-O2 -mieee" } */
+/* { dg-options "-mieee" } */
float foo(unsigned char n)
{
/* { dg-do compile } */
-/* { dg-options "-O2 -mieee" } */
+/* { dg-options "-mieee" } */
double foo (void);
void bar (float, float);
/* Test float on alpha. */
/* { dg-do run } */
-/* { dg-options "-mieee -O2" } */
+/* { dg-options "-mieee" } */
extern void abort(void);
extern int printf(const char *, ...);
return
}
+lappend ADDITIONAL_TORTURE_OPTIONS {-Og -g} {-Oz}
+
# Load support procs.
load_lib gcc-dg.exp
dg-init
# Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
"" $DEFAULT_CFLAGS
# All done.
hard register all the way through compilation. Example derived
from glibc source. */
/* { dg-do compile } */
-/* { dg-options "-O2 -frename-registers -fcprop-registers" } */
+/* { dg-options "-frename-registers -fcprop-registers" } */
/* { dg-final { scan-assembler "callsys1 .0 .19 .0 .16 .17" } } */
/* { dg-final { scan-assembler "callsys2 .0 .19 .0 .16 .17" } } */
+++ /dev/null
-/* Test that alpha-base-1.c compiles with optimization. */
-/* { dg-do link } */
-/* { dg-options "-mcpu=ev4 -O2" } */
-
-#include "base-1.c"
+++ /dev/null
-/* Test that alpha-cix-1.c compiles with optimization. */
-/* { dg-do link } */
-/* { dg-options "-mcpu=ev67 -O2" } */
-
-#include "cix-1.c"
+++ /dev/null
-/* Test that alpha-max-1.c compiles with optimization. */
-/* { dg-do link } */
-/* { dg-options "-mcpu=pca56 -O2" } */
-
-#include "max-1.c"
/* { dg-do compile } */
-/* { dg-options "-O2 -ftrapv -mcpu=ev4" } */
+/* { dg-options "-ftrapv -mcpu=ev4" } */
typedef struct tnode_t {
struct tnode_t *tn_left, *tn_right;
/* PR target/106906 */
/* { dg-do compile } */
-/* { dg-options "-O2 -mbuild-constants" } */
+/* { dg-options "-mbuild-constants" } */
void
do_console (unsigned short *vga)
/* PR target/115297 */
/* { dg-do compile } */
-/* { dg-options "-O1" } */
+/* { dg-options "" } */
enum { BPF_F_USER_BUILD_ID } __bpf_get_stack_size;
long __bpf_get_stack_flags, bpf_get_stack___trans_tmp_2;
/* PR target/115526 */
/* { dg-do assemble } */
-/* { dg-options "-O2 -Wno-attributes -fvisibility=hidden -fPIC -mcpu=ev4" } */
+/* { dg-options "-Wno-attributes -fvisibility=hidden -fPIC -mcpu=ev4" } */
struct _ts {
struct _dtoa_state *interp;
/* { dg-do compile } */
-/* { dg-options "-O2 -mcpu=ev67" } */
+/* { dg-options "-mcpu=ev67" } */
typedef short INT16;
typedef unsigned int CARD32;
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
struct shared_ptr_struct
{
/* { dg-do compile } */
-/* { dg-options "-O2 -mcpu=ev4" } */
+/* { dg-options "-mcpu=ev4" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
struct S {
long l;
/* { dg-do compile } */
-/* { dg-options "-O3 -std=c99 -mexplicit-relocs" } */
+/* { dg-options "-std=c99 -mexplicit-relocs" } */
typedef int R_len_t;
typedef unsigned int SEXPTYPE;
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
int foo (int a, int b)
{
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
/* { dg-final { scan-assembler-not "addl" } } */
unsigned
/* { dg-do run } */
-/* { dg-options "-mcpu=21064 -O0" } */
+/* { dg-options "-mcpu=21064" } */
extern void abort (void);
/* { dg-do run } */
-/* { dg-options "-mcpu=21064 -O0" } */
+/* { dg-options "-mcpu=21064" } */
extern void abort (void);
/* { dg-do compile } */
-/* { dg-options "-O2 -mcpu=ev4" } */
+/* { dg-options "-mcpu=ev4" } */
unsigned int ntfs_getinfo(void *p)
{
/* { dg-do compile } */
-/* { dg-options "-O2 -mieee" } */
+/* { dg-options "-mieee" } */
void foo (int *dimensions, double **params, int hh)
{
/* { dg-do compile } */
-/* { dg-options "-O2 -mcpu=ev4" } */
+/* { dg-options "-mcpu=ev4" } */
struct scsi_cmnd {
int sc_data_direction;
/* PR target/83628 */
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
typedef __SIZE_TYPE__ size_t;
/* PR target/83628 */
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
int
s4l (int a, int b)
/* PR target/83628 */
/* { dg-do compile } */
-/* { dg-options "-O2" } */
+/* { dg-options "" } */
+/* { dg-skip-if "" { *-*-* } { "-O0" } } */
int
s4l (int a, int b)
/* { dg-do compile } */
-/* { dg-options "-O2 -Wall -Wwrite-strings -Werror -fmerge-all-constants -fno-stack-protector -mieee -fdump-rtl-expand" } */
+/* { dg-options "-Wall -Wwrite-strings -Werror -fmerge-all-constants -fno-stack-protector -mieee -fdump-rtl-expand" } */
struct expression {
unsigned long int num;
When using software completions, we have to prevent assembler to match
input and output operands of sqrtt/sqrtf insn. Fixed in glibc 2.26. */
/* { dg-do run } */
-/* { dg-options "-O2 -fno-builtin-sqrt -mieee" } */
+/* { dg-options "-fno-builtin-sqrt -mieee" } */
double sqrt (double);