aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>2024-10-13 13:28:52 +0200
committerTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>2024-12-12 12:25:18 +0100
commita2006457c676880315eee7728f2e0cf90bfbdd15 (patch)
treefb9368fd45399cdc0d0e2891454cc6bad3eccc5f
parent721c689f18ca240f0b1deb4b0d924937064cfe94 (diff)
downloadgcc-a2006457c676880315eee7728f2e0cf90bfbdd15.zip
gcc-a2006457c676880315eee7728f2e0cf90bfbdd15.tar.gz
gcc-a2006457c676880315eee7728f2e0cf90bfbdd15.tar.bz2
testsuite: arm: Use -mcpu=unset when overriding -march
Update test cases to use -mcpu=unset/-march=unset feature introduced in r15-3606-g7d6c6a0d15c. gcc/testsuite/ChangeLog: * gcc.dg/pr41574.c: Added option "-mcpu=unset". * gcc.dg/pr59418.c: Likewise. * lib/target-supports.exp (add_options_for_vect_early_break): Likewise. (add_options_for_arm_v8_neon): Likewise. (check_effective_target_arm_neon_ok_nocache): Likewise. (check_effective_target_arm_simd32_ok_nocache): Likewise. (check_effective_target_arm_sat_ok_nocache): Likewise. (check_effective_target_arm_dsp_ok_nocache): Likewise. (check_effective_target_arm_crc_ok_nocache): Likewise. (check_effective_target_arm_v8_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_1m_mve_fp_ok_nocache): Likewise. (check_effective_target_arm_v8_1a_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Likewise. (check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_1m_mve_ok_nocache): Likewise. (check_effective_target_arm_v8_2a_i8mm_ok_nocache): Likewise. (check_effective_target_arm_fp16fml_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_2a_bf16_neon_ok_nocache): Likewise. (check_effective_target_arm_v8m_main_cde_ok_nocache): Likewise. (check_effective_target_arm_v8m_main_cde_fp_ok_nocache): Likewise. (check_effective_target_arm_v8_1m_main_cde_mve_ok_nocache): Likewise. (check_effective_target_arm_v8_1m_main_cde_mve_fp_ok_nocache): Likewise. (check_effective_target_arm_v8_3a_complex_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_1_lob_ok): Likewise. Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
-rw-r--r--gcc/testsuite/gcc.dg/pr41574.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr59418.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp60
3 files changed, 32 insertions, 32 deletions
diff --git a/gcc/testsuite/gcc.dg/pr41574.c b/gcc/testsuite/gcc.dg/pr41574.c
index 062c004..e25295b 100644
--- a/gcc/testsuite/gcc.dg/pr41574.c
+++ b/gcc/testsuite/gcc.dg/pr41574.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-unsafe-math-optimizations -fdump-rtl-combine" { target { arm*-*-* } } } */
+/* { dg-options "-O2 -mcpu=unset -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-unsafe-math-optimizations -fdump-rtl-combine" { target { arm*-*-* } } } */
/* { dg-options "-O2 -fno-unsafe-math-optimizations -fdump-rtl-combine" { target { ! arm*-*-* } } } */
diff --git a/gcc/testsuite/gcc.dg/pr59418.c b/gcc/testsuite/gcc.dg/pr59418.c
index 4b54ef2..6ab46ec 100644
--- a/gcc/testsuite/gcc.dg/pr59418.c
+++ b/gcc/testsuite/gcc.dg/pr59418.c
@@ -3,7 +3,7 @@
/* { dg-do compile } */
/* { dg-options "-Os -g" } */
-/* { dg-options "-march=armv7-a+fp -mfloat-abi=hard -Os -g" { target { arm*-*-* && { ! arm_thumb1 } } } } */
+/* { dg-options "-mcpu=unset -march=armv7-a+fp -mfloat-abi=hard -Os -g" { target { arm*-*-* && { ! arm_thumb1 } } } } */
extern int printf (const char *__format, ...);
double bar (const char *, int);
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index d13ab40..fe2970e 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4457,7 +4457,7 @@ proc add_options_for_vect_early_break { flags } {
if { [check_effective_target_arm_v8_neon_ok] } {
global et_arm_v8_neon_flags
- return "$flags $et_arm_v8_neon_flags -march=armv8-a"
+ return "$flags $et_arm_v8_neon_flags -mcpu=unset -march=armv8-a"
}
if { [check_effective_target_sse4] } {
@@ -5228,7 +5228,7 @@ proc add_options_for_arm_v8_neon { flags } {
return "$flags"
}
global et_arm_v8_neon_flags
- return "$flags $et_arm_v8_neon_flags -march=armv8-a"
+ return "$flags $et_arm_v8_neon_flags -mcpu=unset -march=armv8-a"
}
# Add the options needed for ARMv8.1 Adv.SIMD. Also adds the ARMv8 NEON
@@ -5302,7 +5302,7 @@ proc check_effective_target_arm_neon_ok_nocache { } {
global et_arm_neon_flags
set et_arm_neon_flags ""
if { [check_effective_target_arm32] } {
- foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon" "-mfpu=neon -mfloat-abi=softfp" "-mfpu=neon -mfloat-abi=softfp -march=armv7-a" "-mfloat-abi=hard" "-mfpu=neon -mfloat-abi=hard" "-mfpu=neon -mfloat-abi=hard -march=armv7-a"} {
+ foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon" "-mfpu=neon -mfloat-abi=softfp" "-mfpu=neon -mfloat-abi=softfp -mcpu=unset -march=armv7-a" "-mfloat-abi=hard" "-mfpu=neon -mfloat-abi=hard" "-mfpu=neon -mfloat-abi=hard -mcpu=unset -march=armv7-a"} {
if { [check_no_compiler_messages_nocache arm_neon_ok object {
#include <arm_neon.h>
int dummy;
@@ -5339,7 +5339,7 @@ proc check_effective_target_arm_neon_ok { } {
proc check_effective_target_arm_simd32_ok_nocache { } {
global et_arm_simd32_flags
set et_arm_simd32_flags ""
- foreach flags {"" "-march=armv6" "-march=armv6 -mfloat-abi=softfp" "-march=armv6 -mfloat-abi=hard"} {
+ foreach flags {"" "-mcpu=unset -march=armv6" "-mcpu=unset -march=armv6 -mfloat-abi=softfp" "-mcpu=unset -march=armv6 -mfloat-abi=hard"} {
if { [check_no_compiler_messages_nocache arm_simd32_ok object {
#include <arm_acle.h>
int dummy;
@@ -5377,7 +5377,7 @@ proc add_options_for_arm_simd32 { flags } {
proc check_effective_target_arm_sat_ok_nocache { } {
global et_arm_sat_flags
set et_arm_sat_flags ""
- foreach flags {"" "-march=armv6" "-march=armv6 -mfloat-abi=softfp" "-march=armv6 -mfloat-abi=hard -mfpu=vfp"} {
+ foreach flags {"" "-mcpu=unset -march=armv6" "-mcpu=unset -march=armv6 -mfloat-abi=softfp" "-mcpu=unset -march=armv6 -mfloat-abi=hard -mfpu=vfp"} {
if { [check_no_compiler_messages_nocache et_arm_sat_flags object {
#include <arm_acle.h>
int dummy;
@@ -5417,7 +5417,7 @@ proc add_options_for_arm_sat { flags } {
proc check_effective_target_arm_dsp_ok_nocache { } {
global et_arm_dsp_flags
set et_arm_dsp_flags ""
- foreach flags {"" "-march=armv5te" "-march=armv5te -mfloat-abi=softfp" "-march=armv5te -mfloat-abi=hard"} {
+ foreach flags {"" "-mcpu=unset -march=armv5te" "-mcpu=unset -march=armv5te -mfloat-abi=softfp" "-mcpu=unset -march=armv5te -mfloat-abi=hard"} {
if { [check_no_compiler_messages_nocache et_arm_dsp_ok object {
#include <arm_acle.h>
int dummy;
@@ -5480,7 +5480,7 @@ proc check_effective_target_arm_neon_ok_no_float_abi { } {
proc check_effective_target_arm_crc_ok_nocache { } {
global et_arm_crc_flags
- set et_arm_crc_flags "-march=armv8-a+crc"
+ set et_arm_crc_flags "-mcpu=unset -march=armv8-a+crc"
return [check_no_compiler_messages_nocache arm_crc_ok object {
#if !defined (__ARM_FEATURE_CRC32)
#error FOO
@@ -5691,7 +5691,7 @@ proc check_effective_target_arm_v8_neon_ok_nocache { } {
{
__asm__ volatile ("vrintn.f32 q0, q0");
}
- } "$flags -march=armv8-a"] } {
+ } "$flags -mcpu=unset -march=armv8-a"] } {
set et_arm_v8_neon_flags $flags
return 1
}
@@ -6430,7 +6430,7 @@ proc check_effective_target_arm_v8_1m_mve_fp_ok_nocache { } {
# Iterate through sets of options to find the compiler flags that
# need to be added to the -march option.
- foreach flags {"" "-mfloat-abi=softfp -mfpu=auto -march=armv8.1-m.main+mve.fp" "-mfloat-abi=hard -mfpu=auto -march=armv8.1-m.main+mve.fp"} {
+ foreach flags {"" "-mfloat-abi=softfp -mfpu=auto -mcpu=unset -march=armv8.1-m.main+mve.fp" "-mfloat-abi=hard -mfpu=auto -mcpu=unset -march=armv8.1-m.main+mve.fp"} {
if { [check_no_compiler_messages_nocache \
arm_v8_1m_mve_fp_ok object {
#include <arm_mve.h>
@@ -6479,7 +6479,7 @@ proc check_effective_target_arm_v8_1a_neon_ok_nocache { } {
# since AArch64 only needs the -march setting.
foreach flags {"" "-mfpu=neon-fp-armv8" "-mfloat-abi=softfp" \
"-mfpu=neon-fp-armv8 -mfloat-abi=softfp"} {
- foreach arches { "-march=armv8-a+rdma" "-march=armv8.1-a" } {
+ foreach arches { "-mcpu=unset -march=armv8-a+rdma" "-mcpu=unset -march=armv8.1-a" } {
if { [check_no_compiler_messages_nocache arm_v8_1a_neon_ok object {
#if !defined (__ARM_FEATURE_QRDMX)
#error "__ARM_FEATURE_QRDMX not defined"
@@ -6520,8 +6520,8 @@ proc check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache { } {
#if !defined (__ARM_FEATURE_FP16_SCALAR_ARITHMETIC)
#error "__ARM_FEATURE_FP16_SCALAR_ARITHMETIC not defined"
#endif
- } "$flags -march=armv8.2-a+fp16"] } {
- set et_arm_v8_2a_fp16_scalar_flags "$flags -march=armv8.2-a+fp16"
+ } "$flags -mcpu=unset -march=armv8.2-a+fp16"] } {
+ set et_arm_v8_2a_fp16_scalar_flags "$flags -mcpu=unset -march=armv8.2-a+fp16"
return 1
}
}
@@ -6555,8 +6555,8 @@ proc check_effective_target_arm_v8_2a_fp16_neon_ok_nocache { } {
#if !defined (__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
#error "__ARM_FEATURE_FP16_VECTOR_ARITHMETIC not defined"
#endif
- } "$flags -march=armv8.2-a+fp16"] } {
- set et_arm_v8_2a_fp16_neon_flags "$flags -march=armv8.2-a+fp16"
+ } "$flags -mcpu=unset -march=armv8.2-a+fp16"] } {
+ set et_arm_v8_2a_fp16_neon_flags "$flags -mcpu=unset -march=armv8.2-a+fp16"
return 1
}
}
@@ -6590,8 +6590,8 @@ proc check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache { } {
#if !defined (__ARM_FEATURE_DOTPROD)
#error "__ARM_FEATURE_DOTPROD not defined"
#endif
- } "$flags -march=armv8.2-a+dotprod"] } {
- set et_arm_v8_2a_dotprod_neon_flags "$flags -march=armv8.2-a+dotprod"
+ } "$flags -mcpu=unset -march=armv8.2-a+dotprod"] } {
+ set et_arm_v8_2a_dotprod_neon_flags "$flags -mcpu=unset -march=armv8.2-a+dotprod"
return 1
}
}
@@ -6613,7 +6613,7 @@ proc check_effective_target_arm_v8_1m_mve_ok_nocache { } {
# Iterate through sets of options to find the compiler flags that
# need to be added to the -march option.
- foreach flags {"" "-mfloat-abi=softfp -mfpu=auto -march=armv8.1-m.main+mve" "-mfloat-abi=hard -mfpu=auto -march=armv8.1-m.main+mve"} {
+ foreach flags {"" "-mfloat-abi=softfp -mfpu=auto -mcpu=unset -march=armv8.1-m.main+mve" "-mfloat-abi=hard -mfpu=auto -mcpu=unset -march=armv8.1-m.main+mve"} {
if { [check_no_compiler_messages_nocache \
arm_v8_1m_mve_ok object {
#if !defined (__ARM_FEATURE_MVE)
@@ -6679,8 +6679,8 @@ proc check_effective_target_arm_v8_2a_i8mm_ok_nocache { } {
#if !defined (__ARM_FEATURE_MATMUL_INT8)
#error "__ARM_FEATURE_MATMUL_INT8 not defined"
#endif
- } "$flags -march=armv8.2-a+i8mm"] } {
- set et_arm_v8_2a_i8mm_flags "$flags -march=armv8.2-a+i8mm"
+ } "$flags -mcpu=unset -march=armv8.2-a+i8mm"] } {
+ set et_arm_v8_2a_i8mm_flags "$flags -mcpu=unset -march=armv8.2-a+i8mm"
return 1
}
}
@@ -6724,8 +6724,8 @@ proc check_effective_target_arm_fp16fml_neon_ok_nocache { } {
{
return vfmlal_high_f16 (r, a, b);
}
- } "$flags -march=armv8.2-a+fp16fml"] } {
- set et_arm_fp16fml_neon_flags "$flags -march=armv8.2-a+fp16fml"
+ } "$flags -mcpu=unset -march=armv8.2-a+fp16fml"] } {
+ set et_arm_fp16fml_neon_flags "$flags -mcpu=unset -march=armv8.2-a+fp16fml"
return 1
}
}
@@ -6763,8 +6763,8 @@ proc check_effective_target_arm_v8_2a_bf16_neon_ok_nocache { } {
#if !defined (__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)
#error "__ARM_FEATURE_BF16_VECTOR_ARITHMETIC not defined"
#endif
- } "$flags -march=armv8.2-a+bf16"] } {
- set et_arm_v8_2a_bf16_neon_flags "$flags -march=armv8.2-a+bf16"
+ } "$flags -mcpu=unset -march=armv8.2-a+bf16"] } {
+ set et_arm_v8_2a_bf16_neon_flags "$flags -mcpu=unset -march=armv8.2-a+bf16"
return 1
}
}
@@ -6831,8 +6831,8 @@ foreach { armfunc armflag armdef arminc } {
#endif
#include <arm_cde.h>
INC
- } "FLAG"] } {
- set et_FUNC_flags "FLAG"
+ } "-mcpu=unset FLAG"] } {
+ set et_FUNC_flags "-mcpu=unset FLAG"
return 1
}
@@ -13253,8 +13253,8 @@ proc check_effective_target_arm_v8_3a_complex_neon_ok_nocache { } {
#if !defined (__ARM_FEATURE_COMPLEX)
#error "__ARM_FEATURE_COMPLEX not defined"
#endif
- } "$flags -march=armv8.3-a"] } {
- set et_arm_v8_3a_complex_neon_flags "$flags -march=armv8.3-a"
+ } "$flags -mcpu=unset -march=armv8.3-a"] } {
+ set et_arm_v8_3a_complex_neon_flags "$flags -mcpu=unset -march=armv8.3-a"
return 1;
}
}
@@ -13295,9 +13295,9 @@ proc check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache { } {
#if !defined (__ARM_FEATURE_COMPLEX)
#error "__ARM_FEATURE_COMPLEX not defined"
#endif
- } "$flags -march=armv8.3-a+fp16"] } {
+ } "$flags -mcpu=unset -march=armv8.3-a+fp16"] } {
set et_arm_v8_3a_fp16_complex_neon_flags \
- "$flags -march=armv8.3-a+fp16"
+ "$flags -mcpu=unset -march=armv8.3-a+fp16"
return 1;
}
}
@@ -13383,7 +13383,7 @@ proc check_effective_target_arm_v8_1_lob_ok { } {
asm goto ("le lr, %l0" : : : "lr" : loop);
return i != 10;
}
- } "-mcpu=unset -march=armv8.1-m.main -mthumb" ]
+ } "-mcpu=unset -mcpu=unset -march=armv8.1-m.main -mthumb" ]
}
}