stackalign.exp: Combine stack alignment torture options with usual torture options.

* gcc.dg/torture/stackalign/stackalign.exp: Combine stack
	alignment torture options with usual torture options.
	* gcc.dg/torture/stackalign/alloca-2.c: Use dg-additional-options
	instead of dg-options.
	* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-5.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-6.c: Likewise.
	* gcc.dg/torture/stackalign/push-1.c: Likewise.
	* gcc.dg/torture/stackalign/vararg-3.c: Likewise.

From-SVN: r188481
This commit is contained in:
Janis Johnson 2012-06-12 20:27:49 +00:00 committed by Janis Johnson
parent a637d2cb48
commit b29e01b77b
9 changed files with 56 additions and 25 deletions

View File

@ -1,5 +1,16 @@
2012-06-12 Janis Johnson <janisjo@codesourcery.com>
* gcc.dg/torture/stackalign/stackalign.exp: Combine stack
alignment torture options with usual torture options.
* gcc.dg/torture/stackalign/alloca-2.c: Use dg-additional-options
instead of dg-options.
* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
* gcc.dg/torture/stackalign/alloca-5.c: Likewise.
* gcc.dg/torture/stackalign/alloca-6.c: Likewise.
* gcc.dg/torture/stackalign/push-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
* gcc.target/arm/di-longlong64-sync-withhelpers.c: Add comments
to checks for multiple messages reported for one line of source code.
* gcc.target/arm/di-longlong64-sync-withldrexd.c: Likewise.

View File

@ -1,6 +1,6 @@
/* PR middle-end/37009 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-options "-msse2" } */
/* { dg-additional-options "-mmmx -msse2" } */
/* { dg-require-effective-target sse2_runtime } */
#include <emmintrin.h>

View File

@ -1,6 +1,6 @@
/* PR middle-end/37009 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-msse2" } */
/* { dg-additional-options "-mmmx -msse2" } */
/* { dg-require-effective-target sse2_runtime } */
#include <emmintrin.h>

View File

@ -1,6 +1,6 @@
/* PR middle-end/37009 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
/* { dg-additional-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
#include "check.h"

View File

@ -1,6 +1,6 @@
/* PR middle-end/45234 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
/* { dg-additional-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
#include "check.h"

View File

@ -1,6 +1,6 @@
/* PR middle-end/45234 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
/* { dg-additional-options "-mincoming-stack-boundary=2 -mpreferred-stack-boundary=2" } */
#include "check.h"

View File

@ -1,6 +1,6 @@
/* PR middle-end/37010 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */
/* { dg-additional-options "-mmmx -msse2 -mpreferred-stack-boundary=2" } */
/* { dg-require-effective-target sse2_runtime } */
#include <emmintrin.h>

View File

@ -1,4 +1,4 @@
# Copyright (C) 2008, 2010
# Copyright (C) 2008, 2010, 2012
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@ -18,33 +18,53 @@
# This harness is for tests that should be run at all optimisation levels.
load_lib gcc-dg.exp
load_lib torture-options.exp
set additional_flags ""
if { [check_effective_target_automatic_stack_alignment] } then {
lappend additional_flags "-mstackrealign"
lappend additional_flags "-mpreferred-stack-boundary=5"
}
if { [istarget i?86*-*-*] || [istarget x86_64-*-*] } then {
lappend additional_flags "-mno-mmx"
}
global DG_TORTURE_OPTIONS LTO_TORTURE_OPTIONS
dg-init
torture-init
# default_flags are replaced by a dg-options test directive, or appended
# to by using dg-additional-options. Use default_flags for options that
# are used in all of the torture sets to limit the amount of noise in
# test summaries.
set default_flags ""
# torture_flags are combined with other torture options and do not
# affect options specified within a test.
set torture_flags ""
set stackalign_options [list]
if { [check_effective_target_automatic_stack_alignment] } then {
append default_flags " -mstackrealign"
append default_flags " -mpreferred-stack-boundary=5"
}
if { [istarget i?86*-*-*] || [istarget x86_64-*-*] } then {
append default_flags " -mno-mmx"
}
lappend stackalign_options [join $torture_flags]
gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] $additional_flags
if { [check_effective_target_fpic] } then {
set pic_additional_flags $additional_flags
lappend pic_additional_flags "-fpic"
gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] $pic_additional_flags
set pic_torture_flags $torture_flags
append pic_torture_flags " -fpic"
lappend stackalign_options [join $pic_torture_flags]
}
if { [check_effective_target_automatic_stack_alignment] } then {
lappend additional_flags "-mforce-drap"
gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] $additional_flags
append torture_flags " -mforce-drap"
lappend stackalign_options [join $torture_flags]
if { [check_effective_target_fpic] } then {
set pic_additional_flags $additional_flags
lappend pic_additional_flags "-fpic"
gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] $pic_additional_flags
set pic_torture_flags $torture_flags
append pic_torture_flags " -fpic"
lappend stackalign_options [join $pic_torture_flags]
}
}
# Combine stackalign options with the usual torture optimization flags.
set-torture-options [concat $DG_TORTURE_OPTIONS $LTO_TORTURE_OPTIONS] $stackalign_options
gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] "$default_flags"
torture-finish
dg-finish

View File

@ -1,6 +1,6 @@
/* PR middle-end/37009 */
/* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-msse2" } */
/* { dg-additional-options "-mmmx -msse2" } */
/* { dg-require-effective-target sse2_runtime } */
#include <stdarg.h>