Freigeben über


_mm256_msub_pd

Visual Studio 2010 SP1 wird benötigt.

Microsoft-spezifisch

Generiert die FMA4 YMM-Anweisung vfmsubpd, um eine einfach gerundete Gleitkomma-Multiplikations-Subtraktion mit doppelter Genauigkeit ihrer Quellen auszuführen.

__m256d _mm256_msub_pd (
   __m256d src1,
   __m256d src2,
   __m256d src3
);

Parameter

  • [in] src1
    Ein 256-Bit-Parameter, der vier 64-Bit-Gleitkommawerte enthält.

  • [in] src2
    Ein 256-Bit-Parameter, der vier 64-Bit-Gleitkommawerte enthält.

  • [in] src3
    Ein 256-Bit-Parameter, der vier 64-Bit-Gleitkommawerte enthält.

Rückgabewert

Ein 256-Bit-Ergebnis r, das vier 64-Bit-Gleitkommawerte enthält.

r[i] := src1[i] * src2[i] - src3[i];

Anforderungen

Intrinsisch

Architektur

_mm256_msub_pd

FMA4

Headerdatei <intrin.h>

Hinweise

Jeder der vier Gleitkommawerte mit doppelter Genauigkeit in src1 wird mit dem entsprechenden Wert in src2 multipliziert, der entsprechende Wert in src3 wird vom Produkt subtrahiert, und das Ergebnis wird im entsprechenden Wert im Ziel gespeichert. Jedes Multiplikation/Subtraktion-Paar wird mit einer einzelnen abschließenden Rundung ausgeführt, als ob die Zwischenergebnisse mit unendlicher Genauigkeit berechnet wurden

Die vfmsubpd-Anweisung ist Teil der FMA4-Anweisungsfamilie. Bevor Sie diese systeminterne Funktion verwenden, müssen Sie sicherstellen, dass der Prozessor diese Anweisung unterstützt. Um die Hardwareunterstützung für diese Anweisung zu bestimmen, rufen Sie die systeminterne Funktion __cpuid mit InfoType = 0x80000001 auf, und prüfen Sie Bit 16 von CPUInfo[2] (ECX). Dieses Bit ist 1, wenn die Anweisung unterstützt wird, und andernfalls 0.

Beispiel

#include <stdio.h>
#include <intrin.h>
int main()
{
    __m256d a, b, c, d;
    int i;
    for (i = 0; i < 4; i++) {
        a.m256d_f64[i] = i;
        b.m256d_f64[i] = 2.;
        c.m256d_f64[i] = 3.;
    }
    d = _mm256_msub_pd(a, b, c);
    for (i = 0; i < 4; i++) printf_s(" %.3lf", d.m256d_f64[i]);
    printf_s("\n");
}
  

Siehe auch

Referenz

__cpuid, __cpuidex

Weitere Ressourcen

_mm_msub_pd

_mm_msub_sd

_mm256_msub_ps

_mm256_macc_pd

_mm256_nmacc_pd

_mm256_nmsub_pd

In Visual Studio 2010 SP1 hinzugefügte systeminterne FMA4-Funktionen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

März 2011

Diesen Inhalt hinzugefügt.

SP1-Funktionsänderung.