iains / gcc-darwin-arm64

GCC master branch for Darwin with experimental support for Arm64. Currently GCC-15.0.0 [September 2024]
GNU General Public License v2.0
268 stars 33 forks source link

Backport to GCC 10 #31

Closed fxcoudert closed 2 years ago

fxcoudert commented 3 years ago

Hi @iains, I'm trying a backport of your patches to GCC 10 at https://github.com/fxcoudert/gcc/tree/gcc-10-arm

The motivation is that Homebrew will prefer to ship a version that's as close as possible to a released version, instead of shipping a "random" point of the 11 development tree. Most of the code is actually pretty unchanged since 10 and 11, so I think it's doable. For most of your commits, if they didn't apply cleanly at least I could clearly figure out where the relevant code was in the 10 branch, and make it work. I kept notes at https://github.com/fxcoudert/gcc/blob/gcc-10-arm/00TODO

There's currently only one commit that I could not figure how to backport, because I can't locate the equivalent codepath in 10: it is https://github.com/iains/gcc-darwin-arm64/commit/1cf917fa3baa8b40ae1e223a2b820f2c3222753d If you have any suggestion on how to backport this, it would be welcome.

fxcoudert commented 3 years ago

Compiling that backport to the 10 branch is currently hitting a snag. I get:

../../gcc/gcc/config/aarch64/aarch64-builtins.c:1233:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (IRG, irg, irg, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1237:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (GMI, gmi, gmi, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1241:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (SUBP, subp, subp, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1245:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (INC_TAG, inc_tag, addg, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1248:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (SET_TAG, set_tag, stg, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1251:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (GET_TAG, get_tag, ldg, fntype);
  ^
../../gcc/gcc/config/aarch64/aarch64-builtins.c:1229:5: note: expanded from macro 'AARCH64_INIT_MEMTAG_BUILTINS_DECL'
                                {T, CODE_FOR_##I};
                                ^
150 warnings and 6 errors generated.
make[3]: *** [aarch64-builtins.o] Error 1

This is not actually code that you've touched, and it looks like the same code is in master, so I'm unsure what's going on.

iains commented 3 years ago

The motivation is that Homebrew will prefer to ship a version that's as close as possible to a released version, instead of shipping a "random" point of the 11 development tree. Most of the code is actually pretty unchanged since 10 and 11, so I think it's doable. For most of your commits, if they didn't apply cleanly at least I could clearly figure out where the relevant code was in the 10 branch, and make it work. I kept notes at https://github.com/fxcoudert/gcc/blob/gcc-10-arm/00TODO

I’d like to clean the patch set up really it’s a very messy “experimental” set at present… … hopefully that’s feasible (i.e. a rev #2 10.x can be done?)

Some of the support patches [for macOS 11, in general] should be applied to open branches - I have another small one for dealing with the different rules for mapping darwin kernel version to macOS to be applied soon.

There's currently only one commit that I could not figure how to backport, because I can't locate the equivalent codepath in 10: it is 1cf917f If you have any suggestion on how to backport this, it would be welcome.

The patch to support .cfi_xxx is not on the 10.x branch (and might never be, it’s not strictly addressing a regression - although it might address a bug at some point).

So that change (1cf917f) is not needed for now.

iains commented 3 years ago

Compiling that backport to the 10 branch is currently hitting a snag. I get:

../../gcc/gcc/config/aarch64/aarch64-builtins.c:1233:3: error: expected expression
  AARCH64_INIT_MEMTAG_BUILTINS_DECL (IRG, irg, irg, fntype);
^
<snip>
150 warnings and 6 errors generated.
make[3]: *** [aarch64-builtins.o] Error 1

This is not actually code that you've touched, and it looks like the same code is in master, so I'm unsure what's going on.

Me neither from that ... do you have a cfarm account? (there are aarch64 linux boxes there - so that, at least, one can confirm things are OK on a non-Darwin box).

fxcoudert commented 3 years ago

It seems it's a clang issue:

$ cat a.c
struct
{
  int ftype;
  int icode;
} aarch64_memtag_builtin_data[10];

static void
aarch64_init_memtag_builtins (void)
{
  aarch64_memtag_builtin_data[0] = {12, 42};
}
$ g++-10 -std=gnu++98 -c a.c
a.c:5:3: warning: unnamed type with no linkage used to declare variable '<unnamed struct> aarch64_memtag_builtin_data [10]' with linkage
    5 | } aarch64_memtag_builtin_data[10];
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
a.c: In function 'void aarch64_init_memtag_builtins()':
a.c:10:43: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
   10 |   aarch64_memtag_builtin_data[0] = {12, 42};
      |                                           ^
a.c:10:43: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
$ clang++ -std=gnu++98 -c a.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
a.c:10:36: error: expected expression
  aarch64_memtag_builtin_data[0] = {12, 42};
                                   ^
1 error generated.
$ clang++ -std=gnu++11 -c a.c
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

I don't know why it doesn't trigger on your branch, though… the code is the same

fxcoudert commented 3 years ago

I found it. In GCC master, the top-level configure.ac has:

# When bootstrapping with GCC, build stage 1 in C++11 mode to ensure that a
# C++11 compiler can still start the bootstrap.  Otherwise, if building GCC,
# require C++11 (or higher).
if test "$enable_bootstrap:$GXX" = "yes:yes"; then
  CXX="$CXX -std=c++11"
elif test "$have_compiler" = yes; then
  AX_CXX_COMPILE_STDCXX(11)

  if test "${build}" != "${host}"; then
    AX_CXX_COMPILE_STDCXX(11, [], [], [_FOR_BUILD])
  fi
fi

but on gcc 10, it has:

# When bootstrapping with GCC, build stage 1 in C++98 mode to ensure that a
# C++98 compiler can still start the bootstrap.
if test "$enable_bootstrap:$GXX" = "yes:yes"; then
  CXX="$CXX -std=gnu++98"
fi
iains commented 3 years ago

try your example with -std=c++11 (that's what master uses).

iains commented 3 years ago

yeah .. you got it (but that doesn't explain why it's not failing for the branch on other platforms)

iains commented 3 years ago

perhaps GCC warns (not errors) for that - and therefore, it never shows because stage2 and 3 get built with the default which for GCC10 is std=c++14

fxcoudert commented 3 years ago

I tried using gnu++11 but this leads to:

../../gcc/gcc/config/darwin.c:1357:16: error: no viable conversion from 'poly_uint16' (aka 'poly_int<2, unsigned short>') to 'unsigned int'
  unsigned int modesize = GET_MODE_BITSIZE (mode);
               ^          ~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/config/darwin.c:1752:28: error: invalid operands to binary expression ('poly_uint16' (aka 'poly_int<2, unsigned short>') and 'int')
  if (GET_MODE_SIZE (mode) == 8
      ~~~~~~~~~~~~~~~~~~~~ ^  ~
../../gcc/gcc/wide-int.h:3289:19: note: candidate template ignored: substitution failure [with T1 = poly_int<2, unsigned short>, T2 = int]: implicit instantiation of undefined template
      'wi::int_traits<poly_int<2, unsigned short> >'
BINARY_PREDICATE (operator ==, eq_p)
                  ^
../../gcc/gcc/wide-int.h:3266:3: note: expanded from macro 'BINARY_PREDICATE'
  OP (const T1 &x, const T2 &y) \
  ^
../../gcc/gcc/config/darwin.c:1757:33: error: invalid operands to binary expression ('poly_uint16' (aka 'poly_int<2, unsigned short>') and 'int')
  else if (GET_MODE_SIZE (mode) == 4
           ~~~~~~~~~~~~~~~~~~~~ ^  ~
../../gcc/gcc/wide-int.h:3289:19: note: candidate template ignored: substitution failure [with T1 = poly_int<2, unsigned short>, T2 = int]: implicit instantiation of undefined template
      'wi::int_traits<poly_int<2, unsigned short> >'
BINARY_PREDICATE (operator ==, eq_p)
                  ^
../../gcc/gcc/wide-int.h:3266:3: note: expanded from macro 'BINARY_PREDICATE'
  OP (const T1 &x, const T2 &y) \
  ^
../../gcc/gcc/config/darwin.c:1764:29: error: invalid operands to binary expression ('poly_uint16' (aka 'poly_int<2, unsigned short>') and 'int')
           && GET_MODE_SIZE (mode) == 16
              ~~~~~~~~~~~~~~~~~~~~ ^  ~~
../../gcc/gcc/wide-int.h:3289:19: note: candidate template ignored: substitution failure [with T1 = poly_int<2, unsigned short>, T2 = int]: implicit instantiation of undefined template
      'wi::int_traits<poly_int<2, unsigned short> >'
BINARY_PREDICATE (operator ==, eq_p)
                  ^
../../gcc/gcc/wide-int.h:3266:3: note: expanded from macro 'BINARY_PREDICATE'
  OP (const T1 &x, const T2 &y) \
  ^

And -std=c++11 leads to the same issue.

fxcoudert commented 3 years ago

I'm trying to patch aarch64-builtins.c:

diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index cba596765..184e9095d 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -1225,8 +1225,9 @@ aarch64_init_memtag_builtins (void)
     = aarch64_general_add_builtin ("__builtin_aarch64_memtag_"#N, \
                                   T, AARCH64_MEMTAG_BUILTIN_##F); \
   aarch64_memtag_builtin_data[AARCH64_MEMTAG_BUILTIN_##F - \
-                             AARCH64_MEMTAG_BUILTIN_START - 1] = \
-                               {T, CODE_FOR_##I};
+                             AARCH64_MEMTAG_BUILTIN_START - 1].ftype = T; \
+  aarch64_memtag_builtin_data[AARCH64_MEMTAG_BUILTIN_##F - \
+                             AARCH64_MEMTAG_BUILTIN_START - 1].icode = CODE_FOR_##I;

   fntype = build_function_type_list (ptr_type_node, ptr_type_node,
                                     uint64_type_node, NULL);

That works but I get the same error as the comment above. Still, progress.

iains commented 3 years ago

I think this should be fixed properly on the branch - it's probably an oversight (was just discussing with Nathan - and his view is that stages 2 and 3 should have been built with explicit gnu++98 which would have Werror'd when it was master). So what would be good would be to find a way to repeat this for a non-arm64-darwin case and report a PR.

iains commented 3 years ago

the first issue could be fixed thus: struct __ aarch64_memtagbuiltin { int ftype; int icode; } aarch64_memtag_builtin_data[10];

the second (using the initialiser) needs some thing more

fxcoudert commented 3 years ago

I have aarch64-builtins.c taken care of, now I need some help with darwin.c. I've sent an email to the gcc list

iains commented 3 years ago

see my reply - I think you need to back port : 7ddee9cd99b

With luck I will take some time to do some patch clean-up over the holidays, so should be able to help with the back porting maybe next week.

fxcoudert commented 3 years ago

Backport of https://github.com/iains/gcc-darwin-arm64/commit/7ddee9cd99beb2c3603bf307d263c6fd9cc05e90 helps indeed, next issue:

g++ -std=gnu++98 -no-pie   -g   -DIN_GCC    -fno-strict-aliasing -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H  -o xgcc gcc.o gcc-main.o ggc-none.o \
      c/gccspec.o driver-aarch64.o darwin-driver.o libcommon-target.a \
       libcommon.a ../libcpp/libcpp.a ./../intl/libintl.a -liconv  ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a 
clang: warning: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument]
Undefined symbols for architecture arm64:
  "aarch64_get_extension_string_for_isa_flags(unsigned long, unsigned long)", referenced from:
      host_detect_local_cpu(int, char const**) in driver-aarch64.o

Yet it is defined:

$ nm libcommon-target.a | grep aarch64_get_extension_string_for_isa_flags
00000000000006f8 T __Z42aarch64_get_extension_string_for_isa_flagsyy
iains commented 3 years ago

double-check gcc/config.gcc ? make sure that the right objects are included? (there have been some changes around option handling on master.. but I didn't need to touch any of that, so another possibility is an unintended hunk in the back ports)

fxcoudert commented 3 years ago

It's a signature change, I think, long vs long long (I'm really bad at C++, which is why I didn't think of it immediately):

$ nm libcommon-target.a | grep aarch64_get_extension_string_for_isa_flags | c++filt 
00000000000006f8 T aarch64_get_extension_string_for_isa_flags(unsigned long long, unsigned long long)

Logical fix:

diff --git a/gcc/config/aarch64/driver-aarch64.c b/gcc/config/aarch64/driver-aarch64.c
index 8840a2d94..d99834c99 100644
--- a/gcc/config/aarch64/driver-aarch64.c
+++ b/gcc/config/aarch64/driver-aarch64.c
@@ -27,8 +27,7 @@
 #include "tm.h"

 /* Defined in common/config/aarch64/aarch64-common.c.  */
-std::string aarch64_get_extension_string_for_isa_flags (unsigned long,
-                                                       unsigned long);
+std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);

 struct aarch64_arch_extension
 {
iains commented 3 years ago

I am not sure / don't think that we use the uint64_t style inside the compiler. perhaps __UINT64_TYPE__ or long long unsigned int (which will be the same type for 32 and 64b hosts, where unsigned long isn't)

iains commented 3 years ago

heh __UINT64_TYPE__ or long long unsigned int

fxcoudert commented 3 years ago

It seems happy with uint64_t, and it is was is used in the function definition, so it might as well be in the prototype.

Now I have finished building gcc, but:

/dev/null:1: internal compiler error: in darwin_gt_pch_use_address, at config/host-darwin.c:51

I cannot get a backtrace because lldb says it's missing a GUI connection. Wonderful.

iains commented 3 years ago

you need ... 590febb5f66 Darwin: Adjust the PCH area to allow for 16384byte page size.

hopefully, this isn't a poor use of your time (it seems you found a couple of real bugs en route).

fxcoudert commented 3 years ago

@iains I knew given my limited skills this would be like playing hide-and-seek… I'm sorry to bother you so much, though.

I thought I had backported all your patches, though… don't know why this one escaped me

iains commented 3 years ago

there might be more :/ ... I have tried to upstream as much as possible to make the final patch as small as viable

(it's no prob, I was intending to do a 10.2 set of back ports for x86_64-darwin20 anyway - and make an 'official' branch) .. you are doing some of the leg work :)

iains commented 3 years ago

It's kinda ironic that we need to set the PCH area page size correctly, even tho we can't use the PCH... ... actually, now I have Darwin20 on X86_64, it seems the pagesize there is still 4096 .. I might eventually tweak that change to be conditional on arm64 or something - but it's OK as is for now.

fxcoudert commented 3 years ago

Now does this ring a bell?

/var/folders/vc/9n6c_r253cddwcx2lgcqd1280000gp/T//ccpY8hhG.s:32:18: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
        sub     x2, x2, x3, sxtw
                            ^
make[3]: *** [_floattisf_s.o] Error 1
iains commented 3 years ago

yes // a set of changes was needed... I originally made a set of patches (perhaps if you look on the earliest preserved arm64 branch[es]) .. then the Arm folks took it on an made the necessary changes "officially" .. so it's much hard for me to find the relevant patches -- except that I did comment on some of them onlist.

iains commented 3 years ago

4062fbb96417ccdcbe290fe65d8fc0535ea8e79b 6d78d3c5b6364068da412ef1e6e5dcbac51da5c6

^^^ BUT better to find Alex's actual commits that fixed this and back port those.

iains commented 3 years ago

there was some other assembler syntax change - but I think that's still a live patch?

iains commented 3 years ago

A bunch of what I'm trying to do next is to 'un hack' the necessary changes - especially the ones needed for *darwin* and commit those upstream. The next set are ones connected with configuration (default OS versions etc), ld64 (supported flags), dsymutil (fixing locating that properly) &c. it takes a bunch of time just to test these "across the patch".

fxcoudert commented 3 years ago

Yeah it's hard for me to figure out what has been upstreamed to master but not backported to 10. I now get:

xgcc: warning: ‘11.0’ is not valid for ‘mmacosx-version-min’
object file (_udivmoddi4_s.o) was built for newer macOS version (11.0) than being linked (10.4)

ld: warning: could not create compact unwind for ___enable_execute_stack: registers 19 and 20 not saved contiguously in frame
ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture arm64
collect2: error: ld returned 1 exit status

and I'm sure you have an earlier patch for that, but I can't figure out which.

Edit: got it! https://github.com/iains/gcc-darwin-arm64/commit/556ab5125912fa2233986eb19d6cd995cf7de1d2#diff-221348b690ce7b16304d3bb9bcf791132f0fb151155c27c35a71386f069fa2bf

iains commented 3 years ago

OK

556ab512591 Darwin: Darwin 20 is to be macOS 11 (Big Sur).

I haven't committed the patch yet that fixes the macOS version to the new rules for kernel version <=> macOS version [subject of an email recently to @jeremyhu]. This evening (it's a follow-on to the one above, we didn't know the minor version rules then).

I think I did patch to stuff a higher min version for the libgcc build to > 10.4

These patches (already on master) are on my 'back port queue' for 10.x - and indeed earlier so that the open branches will build for x86_64 on Darwin20, at least. (independent of the Arm64 effort)

fxcoudert commented 3 years ago

Bootstrap is proceeding, but I get a ton of these warnings:

In file included from ./tm.h:26,
                 from ../../gcc/gcc/backend.h:28,
                 from ../../gcc/gcc/loop-iv.c:54:
../../gcc/gcc/config/darwin.h:662: warning: "ASM_DECLARE_FUNCTION_NAME" redefined
  662 | #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)   \
      | 
In file included from ./tm.h:25,
                 from ../../gcc/gcc/backend.h:28,
                 from ../../gcc/gcc/loop-iv.c:54:
../../gcc/gcc/config/aarch64/aarch64.h:615: note: this is the location of the previous definition
  615 | #define ASM_DECLARE_FUNCTION_NAME(STR, NAME, DECL) \
      | 
In file included from ./tm.h:26,
                 from ../../gcc/gcc/backend.h:28,
                 from ../../gcc/gcc/loop-iv.c:54:
../../gcc/gcc/config/darwin.h:1072: warning: "DEF_MIN_OSX_VERSION" redefined
 1072 | #define DEF_MIN_OSX_VERSION "10.5"
      | 
In file included from ../../gcc/gcc/backend.h:28,
                 from ../../gcc/gcc/loop-iv.c:54:
./tm.h:19: note: this is the location of the previous definition
   19 | # define DEF_MIN_OSX_VERSION "11.0"
      | 

I'm thinking this is not fine, especially for DEF_MIN_OSX_VERSION, since the smaller value overrides the larger one. What do you think?

iains commented 3 years ago

yeah, looks like something is out of order or missing #undef ..

please could you cat gcc/tm.h (in the build build dir) ?

fxcoudert commented 3 years ago
$ cat gcc/tm.h
#ifndef GCC_TM_H
#define GCC_TM_H
#ifndef LIBC_GLIBC
# define LIBC_GLIBC 1
#endif
#ifndef LIBC_UCLIBC
# define LIBC_UCLIBC 2
#endif
#ifndef LIBC_BIONIC
# define LIBC_BIONIC 3
#endif
#ifndef LIBC_MUSL
# define LIBC_MUSL 4
#endif
#ifndef TARGET_DEFAULT_ASYNC_UNWIND_TABLES
# define TARGET_DEFAULT_ASYNC_UNWIND_TABLES 1
#endif
#ifndef DEF_MIN_OSX_VERSION
# define DEF_MIN_OSX_VERSION "11.0"
#endif
#ifdef IN_GCC
# include "options.h"
# include "insn-constants.h"
# include "config/aarch64/biarchlp64.h"
# include "config/aarch64/aarch64.h"
# include "config/darwin.h"
# include "config/darwin9.h"
# include "config/darwin10.h"
# include "config/darwin12.h"
# include "config/aarch64/darwin.h"
# include "config/aarch64/aarch64-errata.h"
# include "config/initfini-array.h"
#endif
#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
# include "insn-flags.h"
#endif
#if defined IN_GCC && !defined GENERATOR_FILE
# include "insn-modes.h"
#endif
# include "defaults.h"
#endif /* GCC_TM_H */

And gcc/gcc/config/darwin.h does not check whether it's already defined.

iains commented 3 years ago

then there's a missing patch/hunk .. because the (working) master list looks much the same:

#ifdef IN_GCC
# include "options.h"
# include "insn-constants.h"
# include "config/aarch64/biarchlp64.h"
# include "config/aarch64/aarch64.h"
# include "config/darwin.h"
# include "config/darwin9.h"
# include "config/darwin10.h"
# include "config/darwin12.h"
# include "config/aarch64/darwin.h"
# include "config/aarch64/aarch64-errata.h"
# include "config/initfini-array.h"
#endif
iains commented 3 years ago

adding the obvious #undef to ASM_DECLARE_FUNCTION_NAME should be OK

conversely, the code for DEF_MIN_OSX_VERSION should be conditional on there being no prior def.

I'm sure I fixed this .. and, given that master builds on the DTK which is pushed from the current branch, I must have also committed the fixes :)

fxcoudert commented 3 years ago

Yes this is https://github.com/iains/gcc-darwin-arm64/commit/105fe3e0b896998b4a1b5a79ad6526959c2e2e7a

iains commented 3 years ago

I haven't committed the patch yet that fixes the macOS version to the new rules for kernel version <=> macOS version [subject of an email recently to @jeremyhu]. This evening (it's a follow-on to the one above, we didn't know the minor version rules then).

now I have ... GCC master : 0e1d4b3bfe260667fb8e055ebff2b34d8a2ec253

fxcoudert commented 3 years ago

So the results of the backport for Fortran are in (make check-gcc still running). Not great, because some of the Fortran front-end fixes were never backported.

        === gfortran Summary ===

# of expected passes        52668
# of unexpected failures    772
# of expected failures      230
# of unresolved testcases   6
# of unsupported tests      253
iains commented 3 years ago

back porting takes effort - of course - but it might be nice to have a better release branch than that - perhaps worth discussing with Thomas et. al.?

iains commented 3 years ago

My intention (time and $dayjob willing) is to have darwin-specific branches on gcc.gnu.org where there are critical patches needed on closed branches - or back ports that are not considered acceptable to the shared branches (e.g. things that Darwin needs, but are strictly not regression fixes).

These will [probably] live either in vendors/darwin or users/darwin and thus can be considered as 'official upstream' for the purposes of policy on use. (There's nothing unusual about this arrangment, the major vendors do the same).

.. in the short-term my github branches are placeholders for this.

fxcoudert commented 3 years ago

I intend to backport the changes that can be safely made. There are 4 Fortran patches:

and 2 aarch64 patches that should be in this category:

iains commented 3 years ago

did you have any luck locating the actual commits by Alex that fixed the assembler issues? (I think that it might be worth they to track them down, my memory was that the discussion on the patch review resulted in a more comprehensive fix - it might be that also could be considered relevant for backport).

fxcoudert commented 3 years ago

I used those in your comment above: https://github.com/iains/gcc-darwin-arm64/issues/31#issuecomment-749039445 Right now I'm aiming to see what a quick backport gives, I'll try to upstream things where I can later.

iains commented 3 years ago

fair enough - I rebased roughly weekly - so it should be possible to narrow the week down by seeing when those patches disappeared.

fxcoudert commented 3 years ago

Fortran results, after the 4 backports above: really good! This is on par with the 11 branch.

        === gfortran Summary ===

# of expected passes        53390
# of unexpected failures    56
# of expected failures      230
# of unresolved testcases   6
# of unsupported tests      253
/Users/brew/gcc-10/ibin/gcc/gfortran  version 10.2.1 20201220 (GCC) 
``` === gfortran tests === Running target unix FAIL: gfortran.dg/analyzer/pr93993.f90 -O (test for excess errors) FAIL: gfortran.dg/c_kind_params.f90 -O1 execution test FAIL: gfortran.dg/c_kind_params.f90 -O2 execution test FAIL: gfortran.dg/c_kind_params.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/c_kind_params.f90 -O3 -g execution test FAIL: gfortran.dg/c_kind_params.f90 -Os execution test FAIL: gfortran.dg/coarray_40.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coarray_41.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coarray_42.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coarray_lib_alloc_4.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coarray_lib_comm_1.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coarray_stat_2.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/coindexed_1.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/findloc_3.f90 -O0 execution test FAIL: gfortran.dg/findloc_3.f90 -O1 execution test FAIL: gfortran.dg/findloc_3.f90 -O2 execution test FAIL: gfortran.dg/findloc_3.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/findloc_3.f90 -O3 -g execution test FAIL: gfortran.dg/findloc_3.f90 -Os execution test FAIL: gfortran.dg/findloc_6.f90 -O0 execution test FAIL: gfortran.dg/findloc_6.f90 -O1 execution test FAIL: gfortran.dg/findloc_6.f90 -O2 execution test FAIL: gfortran.dg/findloc_6.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/findloc_6.f90 -O3 -g execution test FAIL: gfortran.dg/findloc_6.f90 -Os execution test FAIL: gfortran.dg/internal_dummy_2.f08 -O1 execution test FAIL: gfortran.dg/internal_dummy_2.f08 -O2 execution test FAIL: gfortran.dg/internal_dummy_2.f08 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/internal_dummy_2.f08 -O3 -g execution test FAIL: gfortran.dg/internal_dummy_2.f08 -Os execution test FAIL: gfortran.dg/internal_dummy_3.f08 -O1 execution test FAIL: gfortran.dg/internal_dummy_3.f08 -O2 execution test FAIL: gfortran.dg/internal_dummy_3.f08 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/internal_dummy_3.f08 -O3 -g execution test FAIL: gfortran.dg/internal_dummy_3.f08 -Os execution test FAIL: gfortran.dg/pr48636-2.f90 -O scan-ipa-dump cp "Creating a specialized node of [^\\n\\r]*bar/[0-9]*\\\\." FAIL: gfortran.dg/pr48636-2.f90 -O scan-ipa-dump-times cp "Aggregate replacements[^=]*=[^=]*=[^=]*=[^=]*=[^=]*=[^=]*=[^=]*=[^=]*=[^=]*=" 2 FAIL: gfortran.dg/pr48636.f90 -O scan-ipa-dump inline "IPA hints: loop_iterations" FAIL: gfortran.dg/pr48636.f90 -O scan-ipa-dump inline "bar[^\\\\n]*inline copy in MAIN" FAIL: gfortran.dg/structure_constructor_11.f90 -O1 execution test FAIL: gfortran.dg/structure_constructor_11.f90 -O2 execution test FAIL: gfortran.dg/structure_constructor_11.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/structure_constructor_11.f90 -O3 -g execution test FAIL: gfortran.dg/structure_constructor_11.f90 -Os execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O0 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O1 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O2 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -g execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -Os execution test FAIL: gfortran.dg/ieee/ieee_9.f90 -O0 (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -O0 compilation failed to produce executable FAIL: gfortran.dg/ieee/ieee_9.f90 -O1 (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -O1 compilation failed to produce executable FAIL: gfortran.dg/ieee/ieee_9.f90 -O2 (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -O2 compilation failed to produce executable FAIL: gfortran.dg/ieee/ieee_9.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions compilation failed to produce executable FAIL: gfortran.dg/ieee/ieee_9.f90 -O3 -g (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -O3 -g compilation failed to produce executable FAIL: gfortran.dg/ieee/ieee_9.f90 -Os (test for excess errors) UNRESOLVED: gfortran.dg/ieee/ieee_9.f90 -Os compilation failed to produce executable ```

For check-gcc I get:

        === gcc Summary ===

# of expected passes        131616
# of unexpected failures    495
# of unexpected successes   7
# of expected failures      727
# of unresolved testcases   32
# of unsupported tests      3270
/Users/brew/gcc-10/ibin/gcc/xgcc  version 10.2.1 20201220 (GCC) 
``` === gcc tests === Running target unix FAIL: gcc.c-torture/execute/20000603-1.c -O2 execution test FAIL: gcc.c-torture/execute/20000603-1.c -O3 -g execution test FAIL: gcc.c-torture/execute/20000603-1.c -Os execution test FAIL: gcc.c-torture/execute/20000822-1.c -O0 execution test FAIL: gcc.c-torture/execute/20000822-1.c -O1 execution test FAIL: gcc.c-torture/execute/20000822-1.c -O2 execution test FAIL: gcc.c-torture/execute/20000822-1.c -O2 -flto execution test FAIL: gcc.c-torture/execute/20000822-1.c -O2 -flto -flto-partition=none execution test FAIL: gcc.c-torture/execute/20000822-1.c -O3 -g execution test FAIL: gcc.c-torture/execute/20000822-1.c -Os execution test FAIL: gcc.c-torture/execute/921215-1.c -O0 execution test FAIL: gcc.c-torture/execute/931002-1.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-1.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-2.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O1 execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O2 execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O2 -flto execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O2 -flto -flto-partition=none execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -O3 -g execution test FAIL: gcc.c-torture/execute/nestfunc-3.c -Os execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O1 execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O2 execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O2 -flto execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O2 -flto -flto-partition=none execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -O3 -g execution test FAIL: gcc.c-torture/execute/nestfunc-5.c -Os execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O0 execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O1 execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O2 execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O2 -flto execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O2 -flto -flto-partition=none execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -O3 -g execution test FAIL: gcc.c-torture/execute/nestfunc-6.c -Os execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O1 execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O2 execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O2 -flto execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O2 -flto -flto-partition=none execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.c-torture/execute/va-arg-24.c -O3 -g execution test FAIL: gcc.c-torture/execute/va-arg-24.c -Os execution test FAIL: gcc.dg/atomic/c11-atomic-exec-2.c -O3 -g (test for excess errors) FAIL: gcc.dg/debug/dwarf2/inline4.c scan-assembler DW_TAG_inlined_subroutine[^\\\\(]*\\\\([^\\\\)]*\\\\)[^\\\\(]*\\\\(DIE \\\\(0x[0-9a-f]*\\\\) DW_TAG_formal_parameter[^\\\\(]*\\\\(DIE \\\\(0x[0-9a-f]*\\\\) DW_TAG_variable FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-times DW_TAG_inlined_subroutine 2 FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-times DW_TAG_lexical_block\\\\)[^#/!@;\\\\|]*[#/!@;\\\\|]+ +DW_AT_abstract_origin 2 FAIL: gcc.dg/debug/dwarf2/pr97060.c scan-assembler-times DW_AT_declaration 2 FAIL: c-c++-common/Wattributes.c -Wc++-compat (test for warnings, line 404) FAIL: gcc.dg/Wattributes-6.c (test for warnings, line 404) FAIL: gcc.dg/Wstringop-overflow-31.c inlining stack (test for warnings, line ) FAIL: gcc.dg/builtin-apply2.c execution test FAIL: gcc.dg/cleanup-10.c execution test FAIL: gcc.dg/cleanup-11.c execution test FAIL: gcc.dg/cleanup-8.c execution test FAIL: gcc.dg/cleanup-9.c execution test FAIL: gcc.dg/cwsc1.c execution test FAIL: gcc.dg/darwin-sections.c scan-assembler .zerofill __DATA,__bss4,_sg,16,4 FAIL: gcc.dg/darwin-sections.c scan-assembler .zerofill __DATA,__pu_bss4,_g,16,4 FAIL: gcc.dg/darwin-sections.c scan-assembler .zerofill __DATA,__zo_bss0,_sea,1 FAIL: gcc.dg/darwin-segaddr.c execution test FAIL: gcc.dg/darwin-weakimport-3.c scan-assembler-not coalesced FAIL: gcc.dg/live-patching-1.c scan-ipa-dump inline "foo/0 function has external linkage when the user requests only inlining static for live patching" FAIL: gcc.dg/pie-7.c (test for excess errors) FAIL: gcc.dg/pr26427.c (test for excess errors) FAIL: gcc.dg/pr69990.c (test for excess errors) FAIL: gcc.dg/pr79223.c (test for warnings, line 26) FAIL: gcc.dg/pr79223.c (test for warnings, line 31) FAIL: gcc.dg/pr79223.c (test for warnings, line 36) FAIL: gcc.dg/pr89689.c (test for excess errors) FAIL: gcc.dg/pubtypes-2.c scan-assembler long+[ \\t]+0x12e+[ \\t]+[#;]+[ \\t]+Pub Info Length FAIL: gcc.dg/pubtypes-3.c scan-assembler long+[ \\t]+0x12e+[ \\t]+[#;]+[ \\t]+Pub Info Length FAIL: gcc.dg/pubtypes-4.c scan-assembler long+[ \\t]+0x165+[ \\t]+[#;]+[ \\t]+Pub Info Length FAIL: gcc.dg/trampoline-1.c execution test FAIL: gcc.dg/uninit-19.c (test for warnings, line 14) FAIL: gcc.dg/uninit-19.c (test for excess errors) FAIL: gcc.dg/uninit-pr50476.c (test for warnings, line 17) FAIL: gcc.dg/visibility-21.c (test for excess errors) FAIL: gcc.dg/vla-1.c scan-tree-dump-times optimized " s=> i" 2 FAIL: gcc.dg/gomp/pr89104.c (test for excess errors) FAIL: gcc.dg/ipa/PR64550.c scan-ipa-dump icf "Equal symbols: 0" FAIL: gcc.dg/ipa/fopt-info-inline-1.c (test for warnings, line 38) FAIL: gcc.dg/ipa/fopt-info-inline-1.c (test for excess errors) FAIL: gcc.dg/ipa/iinline-attr.c scan-ipa-dump inline "hooray[^\\\\n]*inline copy in test" FAIL: gcc.dg/ipa/inline-7.c (test for warnings, line 21) FAIL: gcc.dg/ipa/inline-7.c scan-tree-dump-times einline "Inlining a.* into m.*" 1 FAIL: gcc.dg/ipa/inline-8.c execution test FAIL: gcc.dg/ipa/ipa-clone-2.c scan-ipa-dump-times cp "Creating a specialized node of recur_fn/[0-9]*\\\\." 12 FAIL: gcc.dg/ipa/ipa-clone-3.c scan-ipa-dump-times cp "Creating a specialized node of recur_fn/[0-9]*\\\\." 8 FAIL: gcc.dg/ipa/ipa-icf-38.c scan-ltrans-tree-dump-not optimized "Function bar" FAIL: gcc.dg/ipa/ipa-icf-merge-1.c scan-ipa-dump icf "= foo \\\\(\\\\);" FAIL: gcc.dg/ipa/ipcp-agg-12.c scan-ipa-dump-times cp "adding an extra caller" 2 FAIL: gcc.dg/ipa/pr85734.c (test for warnings, line 16) FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump cp "op0,\\\\(# & 255\\\\),\\\\(1 - #\\\\),\\\\(# \\\\* 3\\\\),\\\\(27 % #\\\\) <" FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump cp "op0\\\\[offset: 32],\\\\(\\\\(short int\\\\) #\\\\),\\\\(\\\\(int\\\\) #\\\\),\\\\(1300 / #\\\\) == 19" FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump cp "op0\\\\[ref offset: 0],\\\\(# \\\\^ 1\\\\) <" FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump-times cp "Creating a specialized node of callee1" 1 FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump-times cp "Creating a specialized node of callee2" 1 FAIL: gcc.dg/ipa/pr91088.c scan-ipa-dump-times cp "Creating a specialized node of callee3" 1 FAIL: gcc.dg/ipa/pr91089.c scan-ipa-dump-times cp "Creating a specialized node of callee" 7 FAIL: gcc.dg/ipa/propmalloc-4.c scan-tree-dump local-pure-const1 "Function found to be malloc: foo" FAIL: gcc.dg/lto/20081201-2 c_lto_20081201-2_0.o-c_lto_20081201-2_1.o execute -O3 -flto -flto-partition=1to1 FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link, -O2 -flto FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link, -O2 -flto -flto-partition=1to1 FAIL: gcc.dg/lto/20091216-1 c_lto_20091216-1_0.o-c_lto_20091216-1_0.o link, -O2 -flto -flto-partition=none FAIL: gcc.dg/lto/pr48622 c_lto_pr48622_0.o-c_lto_pr48622_0.o link, -O -flto -finline-small-functions -fno-early-inlining FAIL: gcc.dg/rtl/aarch64/missed-pass-error.c (internal compiler error) FAIL: gcc.dg/rtl/aarch64/missed-pass-error.c (test for excess errors) FAIL: gcc.dg/tls/pr78796.c (test for excess errors) UNRESOLVED: gcc.dg/tls/pr78796.c compilation failed to produce executable FAIL: c-c++-common/torture/complex-sign-mul-minus-one.c -O3 -g (test for excess errors) FAIL: c-c++-common/torture/complex-sign-mul-one.c -O3 -g (test for excess errors) FAIL: c-c++-common/torture/complex-sign-mul.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O0 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O1 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O2 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O2 -flto execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -O3 -g execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact-c2x.c -Os execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O0 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O1 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O2 execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O2 -flto execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -O3 -g execution test FAIL: gcc.dg/torture/builtin-fp-int-inexact.c -Os execution test FAIL: gcc.dg/torture/builtin-math-7.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/float16-complex.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/float32-complex.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/float32x-complex.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/float64-complex.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O0 (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O0 compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O1 (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O1 compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 -flto (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 -flto compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 -flto -flto-partition=none (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O2 -flto -flto-partition=none compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -O3 -g (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -O3 -g compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float16-timode.c -Os (test for excess errors) UNRESOLVED: gcc.dg/torture/fp-int-convert-float16-timode.c -Os compilation failed to produce executable FAIL: gcc.dg/torture/fp-int-convert-float32-timode.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-float32x-timode.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-float64-timode.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-timode-1.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-timode-2.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-timode-3.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-timode-4.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/fp-int-convert-timode.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/pr86389.c -O0 execution test FAIL: gcc.dg/torture/pr86389.c -O1 execution test FAIL: gcc.dg/torture/pr86389.c -O2 execution test FAIL: gcc.dg/torture/pr86389.c -O2 -flto execution test FAIL: gcc.dg/torture/pr86389.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/pr86389.c -O3 -g execution test FAIL: gcc.dg/torture/pr86389.c -Os execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -O0 execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -O0 -fpic execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -O1 execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -O1 -fpic execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -Os execution test FAIL: gcc.dg/torture/stackalign/builtin-apply-2.c -Os -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O0 execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O0 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O1 execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O1 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 -flto execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 -flto -flto-partition=none -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 -flto -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O2 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O3 -g execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -O3 -g -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -Os execution test FAIL: gcc.dg/torture/stackalign/nested-5.c -Os -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O0 execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O0 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O1 execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O1 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 -flto execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 -flto -flto-partition=none execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 -flto -flto-partition=none -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 -flto -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O2 -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O3 -g execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -O3 -g -fpic execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -Os execution test FAIL: gcc.dg/torture/stackalign/nested-6.c -Os -fpic execution test FAIL: gcc.dg/tree-ssa/alias-access-path-9.c scan-tree-dump-times fre1 "return 123" 1 FAIL: gcc.dg/tree-ssa/alias-access-path-9.c scan-tree-dump-times fre1 "return 125" 1 FAIL: gcc.dg/tree-ssa/counts-1.c scan-tree-dump optimized "i_am_also_unlikely2[^\\r\\n]*(unlikely executed)" FAIL: gcc.dg/tree-ssa/ifc-10.c scan-tree-dump-times ifcvt "Applying if-conversion" 1 FAIL: gcc.dg/tree-ssa/ifc-10.c scan-tree-dump-times ifcvt "Invalid sum of incoming counts" 1 FAIL: gcc.dg/tree-ssa/ifc-10.c scan-tree-dump-times ifcvt "Invalid sum of outgoing probabilities 200.0" 1 FAIL: gcc.dg/tree-ssa/ifc-12.c scan-tree-dump-times ifcvt "Applying if-conversion" 1 FAIL: gcc.dg/tree-ssa/ifc-12.c scan-tree-dump-times ifcvt "Invalid sum of incoming counts" 1 FAIL: gcc.dg/tree-ssa/ifc-12.c scan-tree-dump-times ifcvt "Invalid sum of outgoing probabilities 200.0" 1 FAIL: gcc.dg/tree-ssa/inline-10.c scan-tree-dump-not optimized "do_something \\\\(70\\\\)" FAIL: gcc.dg/tree-ssa/inline-10.c scan-tree-dump-times optimized "do_something2" 1 FAIL: gcc.dg/tree-ssa/inline-10.c scan-tree-dump-times optimized "do_something3" 1 FAIL: gcc.dg/tree-ssa/inline-8.c scan-tree-dump-times einline "Inlining" 5 FAIL: gcc.dg/tree-ssa/inline-9.c scan-tree-dump-times optimized "q \\\\(15\\\\)" 1 FAIL: gcc.dg/tree-ssa/ipa-split-6.c scan-tree-dump optimized "part" FAIL: gcc.dg/tree-ssa/loop-cond-split-1.c scan-tree-dump-times lsplit "loop split on semi-invariant condition at false branch" 3 FAIL: gcc.dg/tree-ssa/pr77445.c scan-tree-dump-not thread3 "Invalid sum" FAIL: gcc.dg/tree-ssa/pr77445.c scan-tree-dump-times thread3 "Registering FSM jump thread" 2 FAIL: gcc.dg/tree-ssa/pr83648.c scan-tree-dump local-pure-const1 "Function found to be malloc: g" FAIL: gcc.dg/tree-ssa/pr88775-1.c scan-tree-dump-times optimized "return 1;" 10 FAIL: gcc.dg/tree-ssa/pr90340.c scan-tree-dump switchlower1 ";; GIMPLE switch case clusters: 37 88 JT:99-120" XPASS: gcc.dg/tree-ssa/pr91091-2.c scan-tree-dump-times fre1 " = [^;]*x;" 1 XPASS: gcc.dg/tree-ssa/pr91091-2.c scan-tree-dump-times fre1 "x = " 1 FAIL: gcc.dg/tree-ssa/sra-17.c scan-tree-dump-times esra "Removing load: a = \\\\*.?L.?C.?.?.?0;" 1 FAIL: gcc.dg/tree-ssa/sra-17.c scan-tree-dump-times esra "SR[.\$][0-9_]+ = \\\\*.?L.?C.?.?.?0\\\\[" 4 FAIL: gcc.dg/tree-ssa/sra-18.c scan-tree-dump-times esra "Removing load: a = \\\\*.?L.?C.?.?.?0;" 1 FAIL: gcc.dg/tree-ssa/sra-18.c scan-tree-dump-times esra "SR[.\$][0-9_]+ = \\\\*.?L.?C.?.?.?0\\\\.b\\\\[0\\\\]\\\\.f\\\\[0\\\\]\\\\.x" 1 FAIL: gcc.dg/tree-ssa/sra-18.c scan-tree-dump-times esra "SR[.\$][0-9_]+ = \\\\*.?L.?C.?.?.?0\\\\.b\\\\[0\\\\]\\\\.f\\\\[1\\\\]\\\\.x" 1 FAIL: gcc.dg/tree-ssa/sra-18.c scan-tree-dump-times esra "SR[.\$][0-9_]+ = \\\\*.?L.?C.?.?.?0\\\\.b\\\\[1\\\\]\\\\.f\\\\[0\\\\]\\\\.x" 1 FAIL: gcc.dg/tree-ssa/sra-18.c scan-tree-dump-times esra "SR[.\$][0-9_]+ = \\\\*.?L.?C.?.?.?0\\\\.b\\\\[1\\\\]\\\\.f\\\\[1\\\\]\\\\.x" 1 FAIL: gcc.dg/tree-ssa/ssa-fre-56.c scan-tree-dump-times fre1 " \\\\+ " 0 FAIL: gcc.dg/tree-ssa/ssa-fre-56.c scan-tree-dump-times fre1 "= x;" 1 XPASS: gcc.dg/tree-ssa/ssa-fre-77.c scan-tree-dump fre1 "return 1;" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f11: va_list escapes 0, needs to save 24 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f12: va_list escapes 0, needs to save 0 GPR units and 48 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f13: va_list escapes 0, needs to save 0 GPR units and 48 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f14: va_list escapes 0, needs to save 8 GPR units and 32 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f1: va_list escapes 0, needs to save 0 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f2: va_list escapes 0, needs to save 8 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f3: va_list escapes 0, needs to save 0 GPR units and 16 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg "f6: va_list escapes 0, needs to save 24 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-4.c scan-tree-dump stdarg "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-4.c scan-tree-dump stdarg "f2: va_list escapes 0, needs to save 0 GPR units and all FPR units" FAIL: gcc.dg/tree-ssa/stdarg-4.c scan-tree-dump stdarg "f3: va_list escapes 0, needs to save 8 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-4.c scan-tree-dump stdarg "f4: va_list escapes 0, needs to save 0 GPR units and 16 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f1: va_list escapes 0, needs to save all GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f2: va_list escapes 0, needs to save all GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f3: va_list escapes 0, needs to save 8 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f4: va_list escapes 0, needs to save 24 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f5: va_list escapes 0, needs to save 16 GPR units and 0 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f6: va_list escapes 0, needs to save 8 GPR units and 32 FPR units" FAIL: gcc.dg/tree-ssa/stdarg-5.c scan-tree-dump stdarg "f7: va_list escapes 0, needs to save 0 GPR units and 64 FPR units" FAIL: gcc.dg/tree-ssa/switch-1.c scan-tree-dump switchlower1 ";; GIMPLE switch case clusters: -100 JT:10-62 600-700" FAIL: gcc.dg/tree-ssa/switch-1.c scan-tree-dump switchlower1 ";; GIMPLE switch case clusters: JT:0-62" FAIL: gcc.dg/tree-ssa/switch-1.c scan-tree-dump switchlower1 ";; GIMPLE switch case clusters: JT:10-62 600-700 JT:1000-1021 111111" FAIL: gcc.dg/tree-ssa/tailcall-7-run.c execution test FAIL: gcc.dg/vect/aligned-section-anchors-nest-1.c (test for excess errors) UNRESOLVED: gcc.dg/vect/aligned-section-anchors-nest-1.c scan-ipa-dump-times increase_alignment "Increasing alignment of decl" 3 FAIL: gcc.dg/vect/aligned-section-anchors-vect-70.c (test for excess errors) UNRESOLVED: gcc.dg/vect/aligned-section-anchors-vect-70.c scan-ipa-dump-times increase_alignment "Increasing alignment of decl" 0 FAIL: gcc.dg/vect/aligned-section-anchors-vect-71.c (test for excess errors) UNRESOLVED: gcc.dg/vect/aligned-section-anchors-vect-71.c scan-ipa-dump-times increase_alignment "Increasing alignment of decl" 0 FAIL: gcc.dg/vect/aligned-section-anchors-vect-72.c (test for excess errors) UNRESOLVED: gcc.dg/vect/aligned-section-anchors-vect-72.c scan-ipa-dump-times increase_alignment "Increasing alignment of decl" 0 FAIL: gcc.dg/vect/bb-slp-1.c -flto -ffat-lto-objects scan-tree-dump-not slp1 "can't force alignment" FAIL: gcc.dg/vect/bb-slp-1.c scan-tree-dump-not slp1 "can't force alignment" FAIL: gcc.dg/vect/bb-slp-4.c -flto -ffat-lto-objects scan-tree-dump-times slp2 "basic block vectorized" 1 FAIL: gcc.dg/vect/bb-slp-4.c scan-tree-dump-times slp2 "basic block vectorized" 1 FAIL: gcc.dg/vect/no-section-anchors-vect-66.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0 FAIL: gcc.dg/vect/pr25413a.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using versioning" 1 FAIL: gcc.dg/vect/pr25413a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vector alignment may not be reachable" 1 FAIL: gcc.dg/vect/pr25413a.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1 FAIL: gcc.dg/vect/pr25413a.c scan-tree-dump-times vect "vector alignment may not be reachable" 1 FAIL: gcc.dg/vect/pr31699.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using versioning" 1 FAIL: gcc.dg/vect/pr31699.c -flto -ffat-lto-objects scan-tree-dump-times vect "vector alignment may not be reachable" 1 FAIL: gcc.dg/vect/pr31699.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1 FAIL: gcc.dg/vect/pr31699.c scan-tree-dump-times vect "vector alignment may not be reachable" 1 FAIL: gcc.dg/vect/pr65947-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-1.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-1.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-10.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-10.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-12.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-12.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-13.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-13.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-13.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-13.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-14.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-14.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-14.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-14.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-2.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-2.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-3.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-4.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-4.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/pr65947-5.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/pr65947-5.c scan-tree-dump-times vect "LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/pr65947-6.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/pr65947-6.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/section-anchors-pr27770.c (test for excess errors) FAIL: gcc.dg/vect/section-anchors-vect-69.c (test for excess errors) FAIL: gcc.dg/vect/section-anchors-vect-69.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4 XPASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 0 XPASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0 XPASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 0 XPASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0 FAIL: gcc.dg/vect/vect-cond-reduc-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-cond-reduc-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/vect-cond-reduc-3.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-cond-reduc-3.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/vect-cond-reduc-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-cond-reduc-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.dg/vect/vect-cond-reduc-4.c scan-tree-dump-times vect "LOOP VECTORIZED" 2 FAIL: gcc.dg/vect/vect-cond-reduc-4.c scan-tree-dump-times vect "condition expression based on integer induction." 2 FAIL: gcc.target/aarch64/arm_align_max_pwr.c (test for excess errors) UNRESOLVED: gcc.target/aarch64/arm_align_max_pwr.c scan-assembler zero\\t268435452 UNRESOLVED: gcc.target/aarch64/arm_align_max_pwr.c scan-assembler-times zero\\t4 2 FAIL: gcc.target/aarch64/attr-aligned.c (test for excess errors) FAIL: gcc.target/aarch64/bti-1.c scan-assembler-times hint\\t36 12 FAIL: gcc.target/aarch64/c-output-template-2.c scan-assembler @ test FAIL: gcc.target/aarch64/c-output-template-3.c scan-assembler @ test\\\\+4 FAIL: gcc.target/aarch64/c-output-template-4.c scan-assembler @ test\\\\+4 FAIL: gcc.target/aarch64/combine_bfxil.c scan-assembler-times bfi\\\\t 15 FAIL: gcc.target/aarch64/combine_bfxil.c scan-assembler-times bfxil\\\\t 3 FAIL: gcc.target/aarch64/dbl_mov_immediate_1.c scan-assembler-times adrp\\tx[0-9]+, .LC[0-9] 2 FAIL: gcc.target/aarch64/dbl_mov_immediate_1.c scan-assembler-times ldr\\td[0-9]+, \\\\[x[0-9], #:lo12:.LC[0-9]\\\\] 2 FAIL: gcc.target/aarch64/dwarf-cfa-reg.c scan-assembler .cfi_def_cfa_offset 0 FAIL: gcc.target/aarch64/dwarf-cfa-reg.c scan-assembler .cfi_restore 29 FAIL: gcc.target/aarch64/dwarf-cfa-reg.c scan-assembler .cfi_restore 30 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies add1 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies add2 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies add3 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies sub1 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies sub2 FAIL: gcc.target/aarch64/extend-syntax.c check-function-bodies sub3 FAIL: gcc.target/aarch64/fmovld-zero-mem.c scan-assembler stp\\\\txzr, xzr, \\\\[x0\\\\] FAIL: gcc.target/aarch64/fmovld-zero-reg.c scan-assembler movi\\\\tv0.2d, #0 FAIL: gcc.target/aarch64/fuse_adrp_add_1.c scan-assembler adrp\\tx.*, fixed_regs\\n\\tadd\\tx.*, x.*fixed_regs FAIL: gcc.target/aarch64/inline-lrint_1.c scan-assembler-not bl FAIL: gcc.target/aarch64/insv_1.c scan-assembler bfi\\tx[0-9]+, x[0-9]+, 0, 8 FAIL: gcc.target/aarch64/insv_1.c scan-assembler bfi\\tx[0-9]+, x[0-9]+, 16, 5 FAIL: gcc.target/aarch64/insv_1.c scan-assembler movk\\tx[0-9]+, 0x1d6b, lsl 32 FAIL: gcc.target/aarch64/ldp_stp_13.c (test for excess errors) UNRESOLVED: gcc.target/aarch64/ldp_stp_13.c scan-assembler-times ldp\\tw[0-9]+, w[0-9]+, 2 UNRESOLVED: gcc.target/aarch64/ldp_stp_13.c scan-assembler-times ldp\\tx[0-9]+, x[0-9]+, 2 FAIL: gcc.target/aarch64/mgeneral-regs_2.c (test for errors, line 13) FAIL: gcc.target/aarch64/no-inline-lrint_1.c scan-assembler-times bl\\tllrint 2 FAIL: gcc.target/aarch64/no-inline-lrint_1.c scan-assembler-times bl\\tlrint 4 FAIL: gcc.target/aarch64/pr62308.c (test for excess errors) FAIL: gcc.target/aarch64/pr63304_1.c (test for excess errors) FAIL: gcc.target/aarch64/pr70398.c (test for excess errors) UNRESOLVED: gcc.target/aarch64/pr70398.c compilation failed to produce executable FAIL: gcc.target/aarch64/pr78255.c (test for excess errors) UNRESOLVED: gcc.target/aarch64/pr78255.c scan-assembler b\\\\s+bar FAIL: gcc.target/aarch64/pr78561.c (test for excess errors) FAIL: gcc.target/aarch64/pr78733.c scan-assembler adr FAIL: gcc.target/aarch64/pr79041-2.c scan-assembler adr FAIL: gcc.target/aarch64/pr80295.c (test for excess errors) FAIL: gcc.target/aarch64/pr87305.c (test for excess errors) FAIL: gcc.target/aarch64/pr92424-2.c scan-assembler f10_bti:\\n\\thint\\t34 // bti c\\n.*.LPFE1:\\n\\tnop\\n.*\\tret\\n FAIL: gcc.target/aarch64/pr92424-3.c scan-assembler f10_pac:\\n\\thint\\t34 // bti c\\n.*.LPFE1:\\n\\tnop\\n.*\\thint\\t25 // paciasp\\n.*\\thint\\t29 // autiasp\\n.*\\tret\\n FAIL: gcc.target/aarch64/pr94201.c (test for excess errors) FAIL: gcc.target/aarch64/pr94514.c execution test FAIL: gcc.target/aarch64/pr94577.c (test for warnings, line ) FAIL: gcc.target/aarch64/pr94577.c (test for excess errors) FAIL: gcc.target/aarch64/pr97535.c scan-assembler bl\\tmemcpy FAIL: gcc.target/aarch64/simd_pcs_attribute-2.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnN2v_foo 1 FAIL: gcc.target/aarch64/simd_pcs_attribute-3.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnM1v_foo 1 FAIL: gcc.target/aarch64/simd_pcs_attribute-3.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnM2v_foo 1 FAIL: gcc.target/aarch64/simd_pcs_attribute-3.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnN1v_foo 1 FAIL: gcc.target/aarch64/simd_pcs_attribute-3.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnN2v_foo 1 FAIL: gcc.target/aarch64/simd_pcs_attribute.c scan-assembler-times \\\\.variant_pcs\\\\t_ZGVnN2v_log 1 FAIL: gcc.target/aarch64/stack-check-cfa-1.c scan-assembler-times \\\\.cfi_def_cfa_offset 0 1 FAIL: gcc.target/aarch64/stack-check-cfa-1.c scan-assembler-times \\\\.cfi_def_cfa_offset 131072 1 FAIL: gcc.target/aarch64/stack-check-cfa-1.c scan-assembler-times \\\\.cfi_def_cfa_offset 65536 1 FAIL: gcc.target/aarch64/stack-check-cfa-2.c scan-assembler-times \\\\.cfi_def_cfa [0-9]+, 1310720 1 FAIL: gcc.target/aarch64/stack-check-cfa-2.c scan-assembler-times \\\\.cfi_def_cfa_offset 0 1 FAIL: gcc.target/aarch64/stack-check-cfa-2.c scan-assembler-times \\\\.cfi_def_cfa_offset 1310720 1 FAIL: gcc.target/aarch64/stack-check-cfa-2.c scan-assembler-times \\\\.cfi_def_cfa_offset 1311232 1 FAIL: gcc.target/aarch64/stack-check-cfa-3.c scan-assembler-times \\\\.cfi_def_cfa_register 11 1 FAIL: gcc.target/aarch64/stack-check-cfa-3.c scan-assembler-times \\\\.cfi_escape 0xf,0xc,0x8f,0,0x92,0x2e,0,.* 1 FAIL: gcc.target/aarch64/symbol-range-tiny.c (test for excess errors) UNRESOLVED: gcc.target/aarch64/symbol-range-tiny.c scan-assembler-not adr\\tx[0-9]+, fixed_regs\\\\+ FAIL: gcc.target/aarch64/target_attr_1.c scan-assembler //.tune cortex-a72.cortex-a53 FAIL: gcc.target/aarch64/target_attr_15.c scan-assembler-times \\\\.arch armv8-a\\\\+nofp\\\\+nosimd\\n 1 FAIL: gcc.target/aarch64/target_attr_7.c scan-assembler-times //.tune cortex-a53 1 FAIL: gcc.target/aarch64/target_attr_7.c scan-assembler-times //.tune xgene1 1 FAIL: gcc.target/aarch64/test_frame_16.c scan-assembler-times sub\\tsp, sp, #[0-9]+ 2 FAIL: gcc.target/aarch64/uaddw-3.c scan-assembler uaddw FAIL: gcc.target/aarch64/uaddw-3.c scan-assembler uaddw2 FAIL: gcc.target/aarch64/va_arg_2.c scan-assembler-not x7 FAIL: gcc.target/aarch64/va_arg_3.c scan-assembler-not x7 FAIL: gcc.target/aarch64/vec_init_1.c scan-assembler-not stp\\\\t FAIL: gcc.target/aarch64/vec_init_1.c scan-assembler-times ins\\\\t 2 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_dup.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O1 check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O1 check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 -flto check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 -flto check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 -flto -flto-partition=none check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O2 -flto -flto-partition=none check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O3 -g check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -O3 -g check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -Og -g check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -Og -g check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -Os check-function-bodies test_vget_high_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_get.c -Os check-function-bodies test_vget_low_bf16 FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bf16_reinterpret.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-compile.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfdot-2.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfmmla-compile.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 -flto (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vdot-3-2.c -Os (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O0 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O1 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O2 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O2 -flto execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O2 -flto -flto-partition=none execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -O3 -g execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -Og -g execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmla_n.c -Os execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O0 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O1 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O2 execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O2 -flto execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O2 -flto -flto-partition=none execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -O3 -g execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -Og -g execution test FAIL: gcc.target/aarch64/advsimd-intrinsics/vmls_n.c -Os execution test FAIL: gcc.target/aarch64/simd/vstrq_p128_1.c scan-assembler-times stp.*x2,.*x3,.*[x0] 1 UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os scan-assembler \\\\tbr\\\\tx(16|17) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os scan-assembler-not \\\\tblr\\\\t UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os scan-assembler-not \\\\tbr\\\\tx(?!16|17) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os (test for excess errors) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8-a+sb scan-assembler \\\\tbr\\\\tx(16|17) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8-a+sb scan-assembler-not \\\\tblr\\\\t UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8-a+sb scan-assembler-not \\\\tbr\\\\tx(?!16|17) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8-a+sb (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8-a+sb (test for excess errors) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8.3-a+sb scan-assembler \\\\tbr\\\\tx(16|17) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8.3-a+sb scan-assembler-not \\\\tblr\\\\t UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8.3-a+sb scan-assembler-not \\\\tbr\\\\tx(?!16|17) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8.3-a+sb (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -save-temps -Os -march=armv8.3-a+sb (test for excess errors) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os scan-assembler \\\\tbr\\\\tx[0-9][0-9]? FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os (test for excess errors) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8-a+sb scan-assembler \\\\tbr\\\\tx[0-9][0-9]? UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8-a+sb scan-assembler-not \\\\tblr\\\\t FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8-a+sb (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8-a+sb (test for excess errors) UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8.3-a+sb scan-assembler \\\\tbr\\\\tx[0-9][0-9]? UNRESOLVED: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8.3-a+sb scan-assembler-not \\\\tblr\\\\t FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8.3-a+sb (internal compiler error) FAIL: gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -save-temps -Os -march=armv8.3-a+sb (test for excess errors) ```
fxcoudert commented 3 years ago

@iains the test results above seem pretty much "in line" (broadly speaking) with master/11. Do you see anything there that would need to be investigated more? Or that looks suspicious?

iains commented 3 years ago

without looking harder ;) .. it would be reasonable to expect 10.x and master to be similar. once i have the x86 back ports lined up, we can compare notes.

fxcoudert commented 3 years ago

First testing of my backport is OK, but I am having an issue with MACOSX_DEPLOYMENT_TARGET=11 not begin accepted:

brew@28105 ~ % cat a.f90 
  program test
  end
brew@28105 ~ % gfortran a.f90                            
brew@28105 ~ % MACOSX_DEPLOYMENT_TARGET=11 gfortran a.f90
gfortran: warning: couldn't understand version 11
ld: -pie requires targetting a newer minimum version
collect2: error: ld returned 1 exit status

Homebrew does set MACOSX_DEPLOYMENT_TARGET to the major macOS version in most cases, and with Big Sur that major version is 11. clang and other Apple build tools accept it.

iains commented 3 years ago

Does 11.1 work?

I suspect the MACOSX_DEPLOYMENT_TARGET has never had to handle just the major version (is that even a valid deployment target ?)

(will look at making 10 == 10.0 and 11 == 11.0 .. but I don't think 11.0 was ever released?)