ping At 2025-07-24 00:54:22, "ZAMBAR" <zam...@163.com> wrote: > This patch is an experimental implementation of multi-target clones >clones for Fortran, allowing the use of the `TARGET_CLONES` attribute. >It is designed to work with the syntax like: > >`!GCC$ ATTRIBUTES TARGET_CLONES("default", "avx", "avx512f") :: MySub` > > It is now worked with both `SUBROUTINE` and `FUNCTION`, using >infrastructures provided by the GCC. Here is a brief request for >comments (RFC) on the implementation: > >- Which syntax is preferred for the attribute? For now I've > implemented C-like syntax, which supports single or multiple quotes > wrapped strings splitted by commas. >- The difference between Fortran and C/C++ ABI in generating decls. > Eg. Fortran functions in `CONTAINS` block are not public or > regarded as in file scope. Which leads to generating counters > before processing multiple-targets, and leads to > `somefunc.1.default` like names. >- The binding result in readelf's symbol table is different. > While C/C++ generates `WEAK` resolver functions, but Fortran gives > a `LOCAL` one while in `CONTAINS` block. > >If upstreams have any suggestions or comments, please let me know! > >ZAMBAR (2): > Fortran: target clones basic support > Fortran: removed RTL at function start > > gcc/fortran/decl.cc | 116 ++++++++++++++++++++++++++++++++++++++ > gcc/fortran/f95-lang.cc | 34 +++++++++++ > gcc/fortran/gfortran.h | 5 ++ > gcc/fortran/symbol.cc | 8 +++ > gcc/fortran/trans-decl.cc | 26 ++++++++- > 5 files changed, 187 insertions(+), 2 deletions(-) > >-- >2.34.1
-- ZAMBAR He <hezam...@outlook.com>