diff --git a/gcc/testsuite/gcc.target/i386/auto-init-1.c b/gcc/testsuite/gcc.target/i386/auto-init-1.c index b7690df2406069e82e9cd0647dd837438afe630a..3391be1fba7a4b82e496fb384393183f2f62351d 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-1.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-1.c @@ -1,6 +1,6 @@ /* Verify zero initialization for integer and pointer type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -fno-stack-protector -march=x86-64 -mtune=generic" } */ #ifndef __cplusplus # define bool _Bool diff --git a/gcc/testsuite/gcc.target/i386/auto-init-2.c b/gcc/testsuite/gcc.target/i386/auto-init-2.c index e76fc2565168b19784122bcab04e6a68a6b4a403..b23f733a403798877d82e75508daf3bdd384b26e 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-2.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-2.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for integer and pointer type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ #ifndef __cplusplus # define bool _Bool @@ -31,6 +31,8 @@ void foo() /* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe" 2 "expand" } } */ /* { dg-final { scan-rtl-dump-times "0xfffffffffffffefe" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 4 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 1 "expand" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-3.c b/gcc/testsuite/gcc.target/i386/auto-init-3.c index 300ddfb34f117e68c70a411e28ffbf2e8c6f0203..df317616db36a03169873649786f26d47d646cd9 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-3.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-3.c @@ -1,6 +1,6 @@ /* Verify zero initialization for floating point type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -march=x86-64 -mtune=generic" } */ long double result; @@ -14,4 +14,5 @@ long double foo() return result; } -/* { dg-final { scan-assembler-times "pxor\t\\\%xmm0, \\\%xmm0" 3 } } */ +/* { dg-final { scan-assembler-times "pxor\t\\\%xmm0, \\\%xmm0" 3 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "fldz" 3 { target ia32} } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-4.c b/gcc/testsuite/gcc.target/i386/auto-init-4.c index abe0b7e46a071169748acf310a75fba4beaa0203..554a2c57eb673615beb4eca1927c3453208bcabc 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-4.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-4.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for floating point type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ long double result; @@ -14,7 +14,9 @@ long double foo() return result; } -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 1 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 2 "expand" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-5.c b/gcc/testsuite/gcc.target/i386/auto-init-5.c index b2e708c5289363a3ba2f1a61d23bff392fd82458..27d971f8cf1145714b5ee96cd9a9331a2b4322f5 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-5.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-5.c @@ -1,6 +1,6 @@ /* Verify zero initialization for complex type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero" } */ _Complex long double result; @@ -15,6 +15,7 @@ _Complex long double foo() return result; } -/* { dg-final { scan-assembler-times "\\.long\t0" 14 } } */ +/* { dg-final { scan-assembler-times "\\.long\t0" 14 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "\\.long\t0" 12 { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-6.c b/gcc/testsuite/gcc.target/i386/auto-init-6.c index c79c039c2e984ee309eccab837b2260437915a4b..f75081edce454b50f5d31151fc1a435bc5bb737d 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-6.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-6.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for complex type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ _Complex long double result; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-7.c b/gcc/testsuite/gcc.target/i386/auto-init-7.c index 011437965debf2e0ba54821f3a6488dc6bc3796f..7e32576d5909501e15cec831449e4d84e7d8e489 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-7.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-7.c @@ -1,6 +1,6 @@ /* Verify zero initialization for array, union, and structure type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -march=x86-64 -mtune=generic -fno-stack-protector -msse" } */ struct S { diff --git a/gcc/testsuite/gcc.target/i386/auto-init-8.c b/gcc/testsuite/gcc.target/i386/auto-init-8.c index 28fbeb7eece2c58600d1b08dc2f83f7bfc8e233f..666ee14d2bc9f2d99ab079385ad7f596df3a7927 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-8.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-8.c @@ -1,6 +1,6 @@ /* Verify pattern initialization for array, union, and structure type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct S { diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-1.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-1.c index a238b8b4cf58ef780fd790d285f71c56251e201f..149a04f5b02be23fdf3851336507ff15b8de7418 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-1.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-1.c @@ -1,7 +1,7 @@ /* Verify zero initialization for structure type automatic variables with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_aligned { int internal1; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-10.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-10.c index 3fc6b072982505e8719bcd6aa78221213b5578ef..1125bcf0df153ffc8eca3b31c37b24f0ac0ee559 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-10.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-10.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for array type with structure element with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_trailing_hole { int one; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-11.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-11.c index cc982b980f6fb4816b21f7e04175d17b38e9060b..4f90ad21ebf52261b241d777a91dcda52ec279e4 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-11.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-11.c @@ -1,7 +1,7 @@ /* Verify zero initialization for union type with structure field with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_trailing_hole { int one; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-12.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-12.c index 0fbdb6c046d7b8ef839fdecfcaa278e135dd8b57..21a1ee2f185a0e961027fcc4f6fec03589c5c3d0 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-12.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-12.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for union type with structure field with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_trailing_hole { int one; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-2.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-2.c index 5739aa16b114c01a47c538e8925b9e990010d15a..483b79ace6c8de465205725a8efc24af04314e4c 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-2.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-2.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for structure type automatic variables with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_aligned { int internal1; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c index 8a6d764b9fa4be558081f00c5374e93f6720213b..220a9f26348c329dba31dc0a6a062c919807c20c 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c @@ -1,7 +1,7 @@ /* Verify zero initialization for nested structure type automatic variables with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -march=x86-64" } */ struct test_aligned { unsigned internal1; @@ -24,7 +24,9 @@ int foo () } /* { dg-final { scan-assembler "movl\t\\\$0," } } */ -/* { dg-final { scan-assembler "movl\t\\\$16," } } */ -/* { dg-final { scan-assembler "rep stosq" } } */ +/* { dg-final { scan-assembler "movl\t\\\$16," { target lp64 } } } */ +/* { dg-final { scan-assembler "rep stosq" { target lp64 } } } */ +/* { dg-final { scan-assembler "movl\t\\\$32," { target ia32 } } } */ +/* { dg-final { scan-assembler "rep stosl" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-4.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-4.c index d7be32617e4439d06dd9c83d146ae06ec7a4fae9..2908b3ff716682636b550aa103c4ab895faa8e1c 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-4.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-4.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for nested structure type automatic variables with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_aligned { unsigned internal1; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-5.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-5.c index 569b09aef23929652780e00678d5757a852bbedc..e17a621e6f47b2869b986a03d6fb8a4bf1e319d5 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-5.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-5.c @@ -1,7 +1,7 @@ /* Verify zero initialization for structure type automatic variables with tail padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_trailing_hole { char *one; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-6.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-6.c index 4e0b6142134fd90d60f6b3dca54cefbe89d55d1e..754f8afeedfdc558caebf51105d157cf5df117f7 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-6.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-6.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for structure type automatic variables with tail padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse" } */ struct test_trailing_hole { char *one; diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c index b5abffb0fc66b11dec38d4e15eb22ec4bea62200..c136e1cffc40b1b383bba1326313c639f2c87a4f 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c @@ -1,7 +1,7 @@ /* Verify zero initialization for structure type automatic variables with padding and has explicit initialization. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -march=x86-64 -mtune=generic -msse -fno-stack-protector" } */ struct test_trailing_hole { int one; @@ -17,6 +17,7 @@ int foo () return var.four; } -/* { dg-final { scan-assembler-times "movq\t\\\$0," 2 } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\) repeated x16" 1 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\)" 1 "expand" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c index 66591cff448845020287db2c102cd53170ce6b94..45baa3c01a3444e8ef8a39d3ac9ba1b139b0dc70 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for structure type automatic variables with padding and has explicit initialization. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand -march=x86-64 -mtune=generic -msse -fno-stack-protector" } */ struct test_trailing_hole { int one; @@ -17,6 +17,5 @@ int foo () return var.four; } -/* { dg-final { scan-assembler-times "movq\t\\\$0," 2 } } */ - - +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\) repeated x16" 1 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\)" 1 "expand" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c index 1ff900f95b98a6f52ae5197aa7a2016f376f5026..eafa3272dab176270e428f7e414e8757a971efdb 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c @@ -1,7 +1,7 @@ /* Verify zero initialization for array type with structure element with padding. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -march=x86-64" } */ struct test_trailing_hole { int one; @@ -19,4 +19,7 @@ int foo () } /* { dg-final { scan-assembler "movl\t\\\$0," } } */ -/* { dg-final { scan-assembler "rep stosq" } } */ +/* { dg-final { scan-assembler "movl\t\\\$20," { target lp64} } } */ +/* { dg-final { scan-assembler "rep stosq" { target lp64 } } } */ +/* { dg-final { scan-assembler "movl\t\\\$40," { target ia32} } } */ +/* { dg-final { scan-assembler "rep stosl" { target ia32 } } } */