docs.unity.cn
    Show / Hide Table of Contents

    Class X86.Fma

    FMA intrinsics

    Inheritance
    Object
    X86.Fma
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Burst.Intrinsics
    Syntax
    public static class Fma

    Properties

    Name Description
    IsFmaSupported

    Evaluates to true at compile time if FMA intrinsics are supported.

    Burst ties FMA support to AVX2 support to simplify feature sets to support.

    Methods

    Name Description
    fmadd_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, add the intermediate result to packed elements in c, and store the results in dst.

    fmadd_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, add the intermediate result to packed elements in c, and store the results in dst.

    fmadd_sd(v128, v128, v128)

    Multiply the lower double-precision (64-bit) floating-point elements in a and b, and add the intermediate result to the lower element in c. Store the result in the lower element of dst, and copy the upper element from a to the upper element of dst.

    fmadd_ss(v128, v128, v128)

    Multiply the lower single-precision (32-bit) floating-point elements in a and b, and add the intermediate result to the lower element in c. Store the result in the lower element of dst, and copy the upper 3 packed elements from a to the upper elements of dst.

    fmaddsub_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, alternatively add and subtract packed elements in c to/from the intermediate result, and store the results in dst.

    fmaddsub_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, alternatively add and subtract packed elements in c to/from the intermediate result, and store the results in dst.

    fmsub_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, subtract packed elements in c from the intermediate result, and store the results in dst.

    fmsub_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, subtract packed elements in c from the intermediate result, and store the results in dst.

    fmsub_sd(v128, v128, v128)

    Multiply the lower double-precision(64-bit) floating-point elements in a and b, and subtract the lower element in c from the intermediate result.Store the result in the lower element of dst, and copy the upper element from a to the upper element of dst.

    fmsub_ss(v128, v128, v128)

    Multiply the lower single-precision (32-bit) floating-point elements in a and b, and subtract the lower element in c from the intermediate result. Store the result in the lower element of dst, and copy the upper 3 packed elements from a to the upper elements of dst.

    fmsubadd_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, alternatively subtract and add packed elements in c to/from the intermediate result, and store the results in dst.

    fmsubadd_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, alternatively subtract and add packed elements in c to/from the intermediate result, and store the results in dst.

    fnmadd_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, add the negated intermediate result to packed elements in c, and store the results in dst.

    fnmadd_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, add the negated intermediate result to packed elements in c, and store the results in dst.

    fnmadd_sd(v128, v128, v128)

    Multiply the lower double-precision (64-bit) floating-point elements in a and b, and add the negated intermediate result to the lower element in c. Store the result in the lower element of dst, and copy the upper element from a to the upper element of dst.

    fnmadd_ss(v128, v128, v128)

    Multiply the lower single-precision (32-bit) floating-point elements in a and b, and add the negated intermediate result to the lower element in c. Store the result in the lower element of dst, and copy the upper 3 packed elements from a to the upper elements of dst.

    fnmsub_pd(v128, v128, v128)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, subtract packed elements in c from the negated intermediate result, and store the results in dst.

    fnmsub_ps(v128, v128, v128)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, subtract packed elements in c from the negated intermediate result, and store the results in dst.

    fnmsub_sd(v128, v128, v128)

    Multiply the lower double-precision(64-bit) floating-point elements in a and b, and subtract the lower element in c from the negated intermediate result.Store the result in the lower element of dst, and copy the upper element from a to the upper element of dst.

    fnmsub_ss(v128, v128, v128)

    Multiply the lower single-precision (32-bit) floating-point elements in a and b, and subtract the lower element in c from the negated intermediate result. Store the result in the lower element of dst, and copy the upper 3 packed elements from a to the upper elements of dst.

    mm256_fmadd_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, add the intermediate result to packed elements in c, and store the results in dst.

    mm256_fmadd_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, add the intermediate result to packed elements in c, and store the results in dst.

    mm256_fmaddsub_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, alternatively add and subtract packed elements in c to/from the intermediate result, and store the results in dst.

    mm256_fmaddsub_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, alternatively add and subtract packed elements in c to/from the intermediate result, and store the results in dst.

    mm256_fmsub_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, subtract packed elements in c from the intermediate result, and store the results in dst.

    mm256_fmsub_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, subtract packed elements in c from the intermediate result, and store the results in dst.

    mm256_fmsubadd_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, alternatively subtract and add packed elements in c to/from the intermediate result, and store the results in dst.

    mm256_fmsubadd_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, alternatively subtract and add packed elements in c to/from the intermediate result, and store the results in dst.

    mm256_fnmadd_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, add the negated intermediate result to packed elements in c, and store the results in dst.

    mm256_fnmadd_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, add the negated intermediate result to packed elements in c, and store the results in dst.

    mm256_fnmsub_pd(v256, v256, v256)

    Multiply packed double-precision (64-bit) floating-point elements in a and b, subtract packed elements in c from the negated intermediate result, and store the results in dst.

    mm256_fnmsub_ps(v256, v256, v256)

    Multiply packed single-precision (32-bit) floating-point elements in a and b, subtract packed elements in c from the negated intermediate result, and store the results in dst.

    Back to top Copyright © 2022 Unity Technologies
    Generated by DocFX
    on Thursday, June 9, 2022
    Terms of use