Dear GCC developers, Hello everyone!
I am a member of the OSPP open source community who is very interested in C language and GCC development. I am currently adding multi-versioning support to GFortran. Specifically, I am adding `target` and `target_clones` support at the function and subroutine level for the Fortran language. Since Fortran does not support as many attributes as C, my current multi-parameter implementation of `target_clones` is based on GCC, specifically the following syntax: SUBROUTINE calculate(x, y, ans_val) !GCC$ ATTRIBUTES TARGET_CLONES('default', 'avx', 'avx512f') :: calculate DOUBLE PRECISION, INTENT(IN) :: x, y DOUBLE PRECISION, INTENT(OUT) :: ans_val ans_val = x * y + x / y END SUBROUTINE calculate I have implemented multi-string parsing in the frontend following GCC's logic, and it currently seems works properly. However, I am still writing tests and refining the details. My questions are: 1. Does the GCC community consider such syntax to have practical value and necessity for the Fortran language? 2. Are there better or more Fortran-friendly declaration syntax options? 3. What are the upstream expectations for the implementation of this multi-version feature? I look forward to hearing everyone's valuable opinions and suggestions. Thank you! Zebang HE hezam...@outlook.com