testsuite: Add extra aarch64 predefine tests

Add extra testing in the following two tests to make sure CPP predefines
redefinitions on #pragma works as expected when -mgeneral-regs-only
option is specified (See PR94678):
gcc.target/aarch64/pragma_cpp_predefs_2.c
gcc.target/aarch64/pragma_cpp_predefs_3.c

2020-04-23  Felix Yang  <felix.yang@huawei.com>

gcc/testsuite/
	PR target/94678
	* gcc.target/aarch64/pragma_cpp_predefs_2.c: Fix typos, pop_pragma ->
	pop_options. Add tests for general-regs-only.
	* gcc.target/aarch64/pragma_cpp_predefs_3.c: Add tests for
	general-regs-only.
This commit is contained in:
Fei Yang 2020-04-23 16:08:03 +01:00 committed by Richard Sandiford
parent ee9fcee3ec
commit 857d1fa3f0
3 changed files with 103 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2020-04-23 Felix Yang <felix.yang@huawei.com>
PR target/94678
* gcc.target/aarch64/pragma_cpp_predefs_2.c: Fix typos, pop_pragma ->
pop_options. Add tests for general-regs-only.
* gcc.target/aarch64/pragma_cpp_predefs_3.c: Add tests for
general-regs-only.
2020-04-23 Andrew Stubbs <ams@codesourcery.com>
Thomas Schwinge <thomas@codesourcery.com>

View File

@ -67,7 +67,7 @@
#ifdef __ARM_FEATURE_SVE_MATMUL_FP64
#error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
#endif
#pragma GCC pop_pragma
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target ("arch=armv8.2-a+i8mm")
@ -115,7 +115,7 @@
#ifdef __ARM_FEATURE_SVE_MATMUL_FP64
#error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
#endif
#pragma GCC pop_pragma
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target ("arch=armv8.2-a+f64mm")
@ -208,6 +208,40 @@
#pragma GCC pop_options
/* Make sure that general-regs-only works too. */
#pragma GCC push_options
#pragma GCC target ("arch=armv8.2-a+sve+i8mm+f32mm+f64mm")
#ifndef __ARM_FEATURE_SVE
#error "__ARM_FEATURE_SVE is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE_MATMUL_INT8
#error "__ARM_FEATURE_SVE_MATMUL_INT8 is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE_MATMUL_FP32
#error "__ARM_FEATURE_SVE_MATMUL_FP32 is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE_MATMUL_FP64
#error "__ARM_FEATURE_SVE_MATMUL_FP64 is not defined but should be!"
#endif
#pragma GCC push_options
#pragma GCC target ("general-regs-only")
#ifdef __ARM_FEATURE_SVE
#error "__ARM_FEATURE_SVE is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE_MATMUL_INT8
#error "__ARM_FEATURE_SVE_MATMUL_INT8 is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE_MATMUL_FP32
#error "__ARM_FEATURE_SVE_MATMUL_FP32 is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE_MATMUL_FP64
#error "__ARM_FEATURE_SVE_MATMUL_FP64 is defined but should not be!"
#endif
#pragma GCC pop_options
#pragma GCC pop_options
int
foo (int a)
{

View File

@ -214,6 +214,65 @@
#pragma GCC pop_options
/* Make sure that general-regs-only works too. */
#pragma GCC push_options
#pragma GCC target ("arch=armv8.5-a+sve2-aes+sve2-bitperm+sve2-sha3+sve2-sm4")
#ifndef __ARM_FEATURE_SVE
#error "__ARM_FEATURE_SVE is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE2
#error "__ARM_FEATURE_SVE2 is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE2_AES
#error "__ARM_FEATURE_SVE2_AES is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE2_BITPERM
#error "__ARM_FEATURE_SVE2_BITPERM is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE2_SHA3
#error "__ARM_FEATURE_SVE2_SHA3 is not defined but should be!"
#endif
#ifndef __ARM_FEATURE_SVE2_SM4
#error "__ARM_FEATURE_SVE2_SM4 is not defined but should be!"
#endif
#pragma GCC push_options
#pragma GCC target ("general-regs-only")
#ifdef __ARM_FEATURE_SVE
#error "__ARM_FEATURE_SVE is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE2
#error "__ARM_FEATURE_SVE2 is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE2_AES
#error "__ARM_FEATURE_SVE2_AES is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE2_BITPERM
#error "__ARM_FEATURE_SVE2_BITPERM is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE2_SHA3
#error "__ARM_FEATURE_SVE2_SHA3 is defined but should not be!"
#endif
#ifdef __ARM_FEATURE_SVE2_SM4
#error "__ARM_FEATURE_SVE2_SM4 is defined but should not be!"
#endif
#pragma GCC pop_options
#pragma GCC pop_options
int
foo (int a)
{