On 06/11/2012 12:48 PM, H.J. Lu wrote:
> On Mon, Jun 11, 2012 at 12:41 PM, Janis Johnson
> <janis_john...@mentor.com> wrote:
>> On 06/11/2012 12:35 PM, H.J. Lu wrote:
>>> On Mon, Jun 11, 2012 at 12:21 PM, Janis Johnson
>>> <janis_john...@mentor.com> wrote:
>>>> On 06/11/2012 12:15 PM, H.J. Lu wrote:
>>>>> On Mon, Jun 11, 2012 at 12:00 PM, Janis Johnson
>>>>> <janis_john...@mentor.com> wrote:
>>>>>> The tests in gcc.dg/torture/stackalign use two sets of torture options:
>>>>>> the usual optimization sets used as default for torture tests, and up to
>>>>>> four sets of options that are specific to stack alignment.  The stack
>>>>>> alignment options are passed via an option that is used by the dg-test
>>>>>> option dg_extra_tool_flags, which can be overridden by dg-options.  This
>>>>>> means that the seven tests in that test directory that use dg-option do
>>>>>> not use the other alignment options.  All seven of these tests are
>>>>>> limited to x86 targets.  Four of them use -msse2, and four use different
>>>>>> values for -mpreferred-stack-boundary (one does both), so it doesn't
>>>>>> look as if they are intended to use the four sets of stackalign torture
>>>>>> options.
>>>>>>
>>>>>> This patch moves those seven tests out of the stackalign directory up to
>>>>>> the general gcc.dg/torture directory.  With them out of the way I'll be
>>>>>> able to use clean up the remaining stackalign tests to use torture test
>>>>>> support to combine the stack align options with other torture options so
>>>>>> they'll show up in test summary lines, eliminating lots of duplicate
>>>>>> lines in test summaries.
>>>>>>
>>>>>> Tested on i686-pc-linux-gnu and arm-none-eabi.  OK for mainline?
>>>>>>
>>>>>> 2012-06-11  Janis Johnson  <jani...@codesourcery.com>
>>>>>>
>>>>>>        * gcc.dg/torture/stackalign/alloca-2.c: Move to ...
>>>>>>        * gcc.dg/torture/alloca-2.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/alloca-3.c: Move to ...
>>>>>>        * gcc.dg/torture/alloca-3.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/alloca-4.c: Move to ...
>>>>>>        * gcc.dg/torture/alloca-4.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/alloca-5.c: Move to ...
>>>>>>        * gcc.dg/torture/alloca-5.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/alloca-6.c: Move to ...
>>>>>>        * gcc.dg/torture/alloca-6.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/push-1.c: Move to ...
>>>>>>        * gcc.dg/torture/push-1.c: ... here.
>>>>>>        * gcc.dg/torture/stackalign/vararg-3.c: Move to ...
>>>>>>        * gcc.dg/torture/vararg-3.c: ... here.
>>>>>
>>>>> stackalign.exp has
>>>>>
>>>>> 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
>>>>> }
>>>>>
>>>>> It adds PIC tests.  Will this change remove PIC tests?
>>>>>
>>>>>
>>>>
>>>> The options for PIC tests are overridden by dg-options.  This change
>>>> will make no difference at all to how these 7 tests are compiled.
>>>> They are currently compiled four times with exactly the same options.
>>>>
>>>
>>> That doesn't match what I see on trunk as of yesterday:
>>>
>>> Executing on host:
>>> /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
>>> -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/
>>> /export/gnu/import/git/gcc/gcc/testsuite/gcc.dg/torture/stackalign/comp-goto-1.c
>>>  -fno-diagnostics-show-caret   -O0  -mstackrealign
>>> -mpreferred-stack-boundary=5 -mno-mmx  -lm   -o ./comp-goto-1.exe
>>> (timeout = 300)
>>>
>>> Not only stackalign.exp adds -fpic, it also adds -mforce-drap,
>>> -mstackrealign, -mpreferred-stack-boundary=5 and
>>> -mno-mmx.
>>
>> Your example uses comp-goto-1.c which uses the four sets of stack
>> alignment options as intended.  That isn't the case for the 7
>> tests that use dg-options; try one of those.
>>
>> I plan to modify stackalign.exp so that the stackalign options
>> will be treated as torture options and be reported in test summaries
>> to make each line in a test summary unique, with the goal of running
>> the tests with the same sets of options that are used now.
>>
>> Janis
>>
> 
> Can we use dg-add-options to properly add those options?
> 
> Thanks.
> 

I'll look into that.  Consider this patch dropped for now.

Janis

Reply via email to