diff options
author | jiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-07-25 16:13:22 +0000 |
---|---|---|
committer | jiwang <jiwang@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-07-25 16:13:22 +0000 |
commit | 1c14d8edb192765e9cd60651414fc4ac3050301e (patch) | |
tree | 4c422015c975da2319df4e6bea103ae1781e7450 /gcc/config/aarch64/arm_fp16.h | |
parent | 90a2895e02c3a7d9b1ad67557ba3aaf2faa94daa (diff) | |
download | gcc-1c14d8edb192765e9cd60651414fc4ac3050301e.tar.gz |
[AArch64][9/10] ARMv8.2-A FP16 three operands scalar intrinsics
gcc/
* config/aarch64/aarch64-simd-builtins.def: Register new builtins.
* config/aarch64/aarch64.md (fma, fnma): Support HF.
* config/aarch64/arm_fp16.h (vfmah_f16, vfmsh_f16): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238724 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/aarch64/arm_fp16.h')
-rw-r--r-- | gcc/config/aarch64/arm_fp16.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/aarch64/arm_fp16.h b/gcc/config/aarch64/arm_fp16.h index 21edc656953..4b7c2dd3bcc 100644 --- a/gcc/config/aarch64/arm_fp16.h +++ b/gcc/config/aarch64/arm_fp16.h @@ -560,6 +560,20 @@ vsubh_f16 (float16_t __a, float16_t __b) return __a - __b; } +/* ARMv8.2-A FP16 three operands scalar intrinsics. */ + +__extension__ static __inline float16_t __attribute__ ((__always_inline__)) +vfmah_f16 (float16_t __a, float16_t __b, float16_t __c) +{ + return __builtin_aarch64_fmahf (__b, __c, __a); +} + +__extension__ static __inline float16_t __attribute__ ((__always_inline__)) +vfmsh_f16 (float16_t __a, float16_t __b, float16_t __c) +{ + return __builtin_aarch64_fnmahf (__b, __c, __a); +} + #pragma GCC pop_options #endif |