diff options
| author | Trevor Gross <tmgross@umich.edu> | 2025-01-23 01:46:24 +0000 |
|---|---|---|
| committer | Trevor Gross <t.gross35@gmail.com> | 2025-04-09 00:46:53 -0500 |
| commit | 28b6df86036aeeb231e2ea09c78ea33645aa4325 (patch) | |
| tree | bb074b2cbdb6351480aa558eef5d998e34453910 /tests/codegen/patchable-function-entry | |
| parent | 375cb5402fb1aa6bf8b4c513921b5f087decb3ca (diff) | |
| download | rust-28b6df86036aeeb231e2ea09c78ea33645aa4325.tar.gz rust-28b6df86036aeeb231e2ea09c78ea33645aa4325.zip | |
Add assembly version of simple operations on aarch64
Replace `core::arch` versions of the following with handwritten assembly, which avoids recursion issues (cg_gcc using `rint` as a fallback) as well as problems with `aarch64be`. * `rint` * `rintf` Additionally, add assembly versions of the following: * `fma` * `fmaf` * `sqrt` * `sqrtf` If the `fp16` target feature is available, which implies `neon`, also include the following: * `rintf16` * `sqrtf16` `sqrt` is added to match the implementation for `x86`. `fma` is included since it is used by many other routines. There are a handful of other operations that have assembly implementations. They are omitted here because we should have basic float math routines available in `core` in the near future, which will allow us to defer to LLVM for assembly lowering rather than implementing these ourselves.
Diffstat (limited to 'tests/codegen/patchable-function-entry')
0 files changed, 0 insertions, 0 deletions
