Abstract:
PROBLEM TO BE SOLVED: To implement an adaptive optimized compare-exchange operation. SOLUTION: Processing logic receives a FASTCMPXCHG operation in the execution pipeline (200). The processing logic then looks for a cache line tag that includes microarchitectural hint bits associated with a FASTCMPXCHG instruction (202). A tag that a preceding CLMARK can utilize is present for each cache line if hardware has a capability of processing a FASTCMPXCHG. If the hardware does not have the tags, then CLMARK and FASTCMPXCHG are not supported. In this case, processing logic then just utilize the [mem], testval, and newval parameters to execute a standard CMPXCHG instruction in place of the listed FASTCMPXCHG instruction in the code (212). COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
Embodiments of systems, apparatuses, and methods for performing a blend instruction in a computer processor are described. In some embodiments, the execution of a blend instruction causes a data element-by-element selection of data elements of first and second source operands using the corresponding bit positions of a writemask as a selector between the first and second operands and storage of the selected data elements into the destination at the corresponding position in the destination.
Abstract:
Es werden Ausführungsformen von Systemen, Vorrichtungen und Verfahren zum Ausführen einer Expandier- und/oder Komprimieranweisung in einem Computerprozessor beschrieben. Bei bestimmten Ausführungsformen bewirkt Die Ausführung einer Expandieranweisung die Auswahl von Elementen aus einer Quelle, die spärlich in einem Ziel zu speichern sind, auf der Basis von Werten der Schreibmaske, und Speichern jedes ausgewählten Datenelements der Quelle als spärliches Datenelement in einer Zielspeicherstelle, wobei die Zielspeicherstellen jeweils Schreibmasken-Bitpositionen entsprechen, die angeben, dass das entsprechende Datenelement der Quelle zu speichern ist.
Abstract:
Ausführungsformen von Systemen, Vorrichtungen und Verfahren zum Durchführen eines Sammel- und Streuschrittbefehls in einem Computerprozessor sind beschrieben. In einigen Ausführungsformen verursacht die Ausführung eines Sammelschrittbefehls ein bedingtes Speichern von schrittweisen Datenelementen aus einem Speicher in das Zielregister gemäß mindestens einigen Bitwerten einer Schreibmaske.
Abstract:
Ausführungsformen von Systemen, Vorrichtungen und Verfahren zur Durchführung eines Sprungbefehls in einem Computerprozessor werden beschrieben. Bei einigen Ausführungsformen bewirkt die Ausführung eines gemischten Befehls einen bedingten Sprung an eine Adresse eines Zielbefehls, wenn alle Bits einer Schreibmaske Null sind, wobei die Adresse des Zielbefehls unter Verwendung eines Befehlszeigers des Befehls und des relativen Offsets berechnet wird.
Abstract:
Embodiments of systems, apparatuses, and methods for performing an expand and/or compress instruction in a computer processor are described. In some embodiments, the execution of an expand instruction causes the selection of elements from a source that are to be sparsely stored in a destination based on values of the writemask and store each selected data element of the source as a sparse data element into a destination location, wherein the destination locations correspond to each writemask bit position that indicates that the corresponding data element of the source is to be stored.
Abstract:
Eine Vorrichtung und ein Verfahren zum Ausführen arbiträrer logischer Operationen, die durch eine Tabelle spezifiziert werden, werden beschrieben. Beispielsweise umfasst eine Ausführungsform ein Verfahren zum Ausführen einer logischen Operation auf einem Computerprozessor: Lesen von Daten aus jedem von zwei oder mehr Quelloperanden; Kombinieren der Daten, die aus dem Quelloperanden gelesen worden sind, um einen Indexwert zu erzeugen, wobei der Indexwert eine Untermenge von Bits innerhalb eines direkten Wertes identifiziert, der mit der Anweisung übertragen wird; Lesen der Bits aus dem direkten Wert und speichern der Bits, die aus dem direkten Wert gelesen worden sind, in einem Zielregister, um das Ergebnis der Anweisung zu erzeugen.
Abstract:
A vector friendly instruction format and execution thereof. According to one embodiment of the invention, a processor is configured to execute an instruction set. The instruction set includes a vector friendly instruction format. The vector friendly instruction format has a plurality of fields including a base operation field, a modifier field, an augmentation operation field, and a data element width field, wherein the first instruction format supports different versions of base operations and different augmentation operations through placement of different values in the base operation field, the modifier field, the alpha field, the beta field, and the data element width field, and wherein only one of the different values may be placed in each of the base operation field, the modifier field, the alpha field, the beta field, and the data element width field on each occurrence of an instruction in the first instruction format in instruction streams.