[all-commits] [llvm/llvm-project] d67013: [Flang][AArch64][VecLib] Add libmvec support for F...

KAWASHIMA Takahiro via All-commits all-commits at lists.llvm.org
Wed Jul 2 22:39:06 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d67013a2b44295e7558b6678f07c7f3a7ef9601c
      https://github.com/llvm/llvm-project/commit/d67013a2b44295e7558b6678f07c7f3a7ef9601c
  Author: KAWASHIMA Takahiro <t-kawashima at fujitsu.com>
  Date:   2025-07-03 (Thu, 03 Jul 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/ReleaseNotes.md
    M flang/test/Driver/fveclib-codegen.f90
    M flang/test/Driver/fveclib.f90

  Log Message:
  -----------
  [Flang][AArch64][VecLib] Add libmvec support for Flang/AArch64 (#146453)

`-fveclib=libmvec` for AArch64 (NEON and SVE) in Clang was supported by
#143696. This patch does the same for Flang.

Vector functions defined in `libmvec` are used for the following Fortran
operator and functions currently.

- Power operator (`**`)
- Fortran intrinsic functions listed below for `real(kind=4)` and
`real(kind=8)` (including their coresponding specific intrinsic
functions)
- Fortran intrinsic functions which are expanded using functions listed
below (for example, `sin` for `complex(kind=8)`)

```
sin
tan
cos
asin
acos
atan (both atan(x) and atan(y, x))
atan2
cosh
tanh
asinh
acosh
atanh
erf
erfc
exp
log
log10
```

As with Clang/AArch64, glibc 2.40 or higher is required to use all these
functions.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list