Suchergebnisse für Anfrage "x86-64"
Warum heißen rbp und rsp Allzweckregister?
aut Intel in x64 werden die folgenden Register als Allzweckregister bezeichnet (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP und ...
Warum wird die Leistung eines laufenden Programms mit der Zeit besser?
Betrachten Sie den folgenden Code: #include <iostream> #include <chrono> using Time = std::chrono::high_resolution_clock; using us = std::chrono::microseconds; int main() { volatile int i, k; const int n = 1000000; for(k = 0; k < 200; ++k) ...
FMA Befehl _mm256_fmadd_pd (): "132", "231" und "213"?
Kann mir jemand erklären, warum es 3 Varianten des zusammengesetzten Multiplikations-Akkumulations-Befehls gibt:vfmadd132pd, vfmadd231pd undvfmadd213pd, während es nur ein C intrinsics @ gi_mm256_fmadd_pd? Um die Dinge zu vereinfachen, was ist ...
Access .data Abschnitt in Position Independent Code
Ich erstelle eine gemeinsam genutzte Bibliothek mit NASM. In dieser Bibliothek brauche ich in irgendeiner Funktion das, was wir als @ bezeichnen würdestatic variable in C. Grundsätzlich denke ich, dass es etwas Platz in der ...
Wie kann gcc / clang annehmen, dass die Adresse einer String-Konstante 32-Bit ist?
Wenn ich dieses Programm kompiliere: #include <stdio.h> int main(int argc, char** argv) { printf("hello world!\n"); return 0; }ei x86-64 verwendet die asm-Ausgabemovl $.LC0, %edi / call puts. Vollständige ASM-Ausgabe- / Kompilierungsoptionen auf ...
SSE-Befehl MOVSD (erweitert: Gleitkomma-Skalar- und Vektoroperationen auf x86, x86-64)
Ich bin irgendwie durch die MOVSD-Montageanleitung verwirrt. Ich habe einen numerischen Code geschrieben, der eine Matrixmultiplikation berechnet, einfach unter Verwendung von gewöhnlichem C-Code ohne SSE-Eigenheiten. Ich füge nicht einmal die ...
Warum sind einige Haswell AVX-Latenzen von Intel dreimal langsamer als Sandy Bridge?
In der Intelintrinsics ...
Kann x86 ein enges Geschäft mit einer größeren Auslastung, die es vollständig enthält, neu ordnen?
Entwicklerhandbuch für Intel® 64- und IA-32-Architekturen [https://www-ssl.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf] sagt: 8.2.3.4 Ladevorgänge ...
Erfassen / Freigeben von Semantik mit nicht temporären Speichern auf x64
Ich habe so etwas wie: if (f = acquire_load() == ) { ... use Foo }und auto f = new Foo(); release_store(f)Sie können sich leicht eine Implementierung von acquis_load und release_store vorstellen, die atomic mit load (memory_order_acquire) und ...
SIMD-Anweisungen für den Gleitkomma-Gleichheitsvergleich (mit NaN == NaN)
Welche Befehle würden zum Vergleichen von zwei 128-Bit-Vektoren verwendet, die aus 4 * 32-Bit-Gleitkommawerten bestehen? Gibt es eine Anweisung, die einen NaN-Wert auf beiden Seiten als gleich betrachtet? Wenn nicht, wie groß wäre die ...