https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124236

            Bug ID: 124236
           Summary: [15/16] Target check arm_v8_3a_complex_neon_hw is
                    broken
           Product: gcc
           Version: 15.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: siddhesh at gcc dot gnu.org
  Target Milestone: ---

The test gcc/testsuite/gfortran.target/aarch64/pr122408_2.f90 adds
-march=armv8.3-a conditional on `target arm_v8_3a_complex_neon_hw`, however it
appears to pass the `-march=armv8.3-a` even on armv8.2 cores.  The gating check
appears to incorrectly succeed when
check_effective_target_arm_v8_3a_complex_neon_ok fails:

proc check_effective_target_arm_v8_3a_complex_neon_hw { } {
    if { ![check_effective_target_arm_v8_3a_complex_neon_ok] } {
        return 1;
    }

Perhaps that return should be flipped?

--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -13827,7 +13827,7 @@ proc add_options_for_arm_v8_3a_fp16_complex_neon {
flags } {

 proc check_effective_target_arm_v8_3a_complex_neon_hw { } {
     if { ![check_effective_target_arm_v8_3a_complex_neon_ok] } {
-       return 1;
+       return 0;
     }
     return [check_runtime arm_v8_3a_complex_neon_hw_available {
        #include "arm_neon.h"

The fix and test was backported to gcc15, so this fix would need to be
backported as well.

Reply via email to