diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-05-05 11:39:57 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-05-05 11:39:57 +0000 |
commit | af2b5e2efd6bf7d682e74a3fde5d54e960fa34af (patch) | |
tree | 50a50efc714ac699660edf905b28f89d70f80e4e /ia32/CBuiltins.ml | |
parent | f126a1c0f2bc6434b6478c863ad910bf996ffbe1 (diff) | |
download | compcert-af2b5e2efd6bf7d682e74a3fde5d54e960fa34af.tar.gz compcert-af2b5e2efd6bf7d682e74a3fde5d54e960fa34af.zip |
Fused multiply-add for IA32.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2481 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'ia32/CBuiltins.ml')
-rw-r--r-- | ia32/CBuiltins.ml | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ia32/CBuiltins.ml b/ia32/CBuiltins.ml index 6dbabf18..60461260 100644 --- a/ia32/CBuiltins.ml +++ b/ia32/CBuiltins.ml @@ -36,6 +36,22 @@ let builtins = { (TFloat(FDouble, []), [TFloat(FDouble, []); TFloat(FDouble, [])], false); "__builtin_fmin", (TFloat(FDouble, []), [TFloat(FDouble, []); TFloat(FDouble, [])], false); + "__builtin_fmadd", + (TFloat(FDouble, []), + [TFloat(FDouble, []); TFloat(FDouble, []); TFloat(FDouble, [])], + false); + "__builtin_fmsub", + (TFloat(FDouble, []), + [TFloat(FDouble, []); TFloat(FDouble, []); TFloat(FDouble, [])], + false); + "__builtin_fnmadd", + (TFloat(FDouble, []), + [TFloat(FDouble, []); TFloat(FDouble, []); TFloat(FDouble, [])], + false); + "__builtin_fnmsub", + (TFloat(FDouble, []), + [TFloat(FDouble, []); TFloat(FDouble, []); TFloat(FDouble, [])], + false); (* Memory accesses *) "__builtin_read16_reversed", (TInt(IUShort, []), [TPtr(TInt(IUShort, [AConst]), [])], false); |