https://gcc.gnu.org/g:a2006457c676880315eee7728f2e0cf90bfbdd15
commit r15-6163-ga2006457c676880315eee7728f2e0cf90bfbdd15 Author: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> Date: Sun Oct 13 13:28:52 2024 +0200 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.svens...@foss.st.com> Diff: --- gcc/testsuite/gcc.dg/pr41574.c | 2 +- gcc/testsuite/gcc.dg/pr59418.c | 2 +- gcc/testsuite/lib/target-supports.exp | 60 +++++++++++++++++------------------ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/gcc/testsuite/gcc.dg/pr41574.c b/gcc/testsuite/gcc.dg/pr41574.c index 062c0044532c..e25295bc4fd4 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 4b54ef2b42dc..6ab46ecde8ac 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 d13ab407f2a0..fe2970e024bf 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" ] } }