testsuite: Fix up pr91838.C test [PR91838]

The test FAILs on i686-linux with:
FAIL: g++.dg/pr91838.C   (test for excess errors)
Excess errors:
/home/jakub/src/gcc/gcc/testsuite/g++.dg/pr91838.C:7:8: warning: MMX vector return without MMX enabled changes the ABI [-Wpsabi]
/home/jakub/src/gcc/gcc/testsuite/g++.dg/pr91838.C:7:3: warning: MMX vector argument without MMX enabled changes the ABI [-Wpsabi]
and on x86_64-linux with -m32 testing with failure to match the
expected pattern in there (or both with e.g. -m32/-mno-mmx/-mno-sse testing).
The test is also in a wrong directory, has non-standard specification that
it requires c++11 or later.

2020-01-31  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/91838
	* g++.dg/pr91838.C: Moved to ...
	* g++.dg/opt/pr91838.C: ... here.  Require c++11 target instead of
	dg-skip-if for c++98.  Pass -Wno-psabi -w to avoid psabi style
	warnings on vector arg passing or return.  Add -masm=att on i?86/x86_64.
	Only check for pxor %xmm0, %xmm0 on lp64 i?86/x86_64.
This commit is contained in:
Jakub Jelinek 2020-01-31 19:35:11 +01:00
parent 896dff99e1
commit 5910b14503
3 changed files with 20 additions and 11 deletions

View File

@ -1,3 +1,12 @@
2020-01-31 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/91838
* g++.dg/pr91838.C: Moved to ...
* g++.dg/opt/pr91838.C: ... here. Require c++11 target instead of
dg-skip-if for c++98. Pass -Wno-psabi -w to avoid psabi style
warnings on vector arg passing or return. Add -masm=att on i?86/x86_64.
Only check for pxor %xmm0, %xmm0 on lp64 i?86/x86_64.
2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
* lib/target-supports.exp (check_effective_target_aarch64_asm_bf16_ok):

View File

@ -0,0 +1,11 @@
/* { dg-do compile { target c++11 } } */
/* { dg-additional-options "-O2 -Wno-psabi -w" } */
/* { dg-additional-options "-masm=att" { target i?86-*-* x86_64-*-* } } */
using T = unsigned char; // or ushort
using V [[gnu::vector_size(8)]] = T;
V f(V x) {
return x >> 8 * sizeof(T);
}
/* { dg-final { scan-assembler {pxor\s+%xmm0,\s+%xmm0} { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */

View File

@ -1,11 +0,0 @@
/* { dg-do compile } */
/* { dg-additional-options "-O2" } */
/* { dg-skip-if "" { *-*-* } {-std=c++98} } */
using T = unsigned char; // or ushort, or uint
using V [[gnu::vector_size(8)]] = T;
V f(V x) {
return x >> 8 * sizeof(T);
}
/* { dg-final { scan-assembler {pxor\s+%xmm0,\s+%xmm0} { target x86_64-*-* } } } */