diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2020-10-29 18:10:16 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-11-06 18:30:21 +0100 |
commit | acaabc6c481cc70e5597ccb74052a7f6d330b0f1 (patch) | |
tree | 38e7b9f6a25282ffc089261a8400bd646125192a /aarch64/Asmexpand.ml | |
parent | c3c7d3a417b37bf7268562c20a27916ae0c51adf (diff) | |
download | compcert-kvx-acaabc6c481cc70e5597ccb74052a7f6d330b0f1.tar.gz compcert-kvx-acaabc6c481cc70e5597ccb74052a7f6d330b0f1.zip |
Added implementation for fmin/fmax for aarch64.
The two built-in function map to the fmax and fmin instruction.
Bug 30035
Diffstat (limited to 'aarch64/Asmexpand.ml')
-rw-r--r-- | aarch64/Asmexpand.ml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/aarch64/Asmexpand.ml b/aarch64/Asmexpand.ml index ea2ee703..1ba754dd 100644 --- a/aarch64/Asmexpand.ml +++ b/aarch64/Asmexpand.ml @@ -363,6 +363,10 @@ let expand_builtin_inline name args res = emit (Pfnmadd(D, res, a1, a2, a3)) | "__builtin_fnmsub", [BA(FR a1); BA(FR a2); BA(FR a3)], BR(FR res) -> emit (Pfnmsub(D, res, a1, a2, a3)) + | "__builtin_fmax", [BA (FR a1); BA (FR a2)], BR (FR res) -> + emit (Pfmax (D, res, a1, a2)) + | "__builtin_fmin", [BA (FR a1); BA (FR a2)], BR (FR res) -> + emit (Pfmin (D, res, a1, a2)) (* Vararg *) | "__builtin_va_start", [BA(IR a)], _ -> expand_builtin_va_start a |