Abstract:
Embodiments of systems, apparatuses, and methods for performing in a computer processor a data element shuffle and an operation on the shuffled data elements in response to a single data element shuffle and an operation instruction that includes a destination vector register operand, a first and second source vector register operands, an immediate value, and an opcode are described.
Abstract:
Eine Maskenerzeugungsanweisung wird durch einen Prozessor ausgeführt, um die Effizienz von Vektoroperationen an einem Array von Datenelementen zu verbessern. Der Prozessor umfasst Vektorregister, von denen eines Datenelemente eines Arrays speichert. Der Prozessor umfasst ferner Ausführungsschaltkreise zum Empfangen einer Maskenerzeugungsanweisung, die mindestens einen ersten Operanden und einen zweiten Operanden spezifiziert. Als Reaktion auf die Maskenerzeugungsanweisung sollen die Ausführungsschaltkreise Bit des ersten Operanden um eine Anzahl von Malen, die in dem zweiten Operanden definiert wird, nach links verschieben und jedes Mal, wenn ein höchstwertiges Bit des ersten Operanden von links herausgeschoben wird, ein Bit von eins von rechts hereinziehen, um ein Ergebnis zu erzeugen. Jedes Bit im Ergebnis entspricht einem der Datenelemente des Arrays.
Abstract:
A processor including a decode unit to receive a vector indexed load plus arithmetic and/or logical (A/L) operation plus store instruction. The instruction is to indicate a source packed memory indices operand that is to have a plurality of packed memory indices. The instruction is also to indicate a source packed data operand that is to have a plurality of packed data elements. The processor also includes an execution unit coupled with the decode unit. The execution unit, in response to the instruction, is to load a plurality of data elements from memory locations corresponding to the plurality of packed memory indices, perform A/L operations on the plurality of packed data elements of the source packed data operand and the loaded plurality of data elements, and store a plurality of result data elements in the memory locations corresponding to the plurality of packed memory indices.
Abstract:
A mask generating instruction is executed by a processor to improve efficiency of vector operations on an array of data elements. The processor includes vector registers, one of which stores data elements of an array. The processor further includes execution circuitry to receive a mask generating instruction that specifies at least a first operand and a second operand. Responsive to the mask generating instruction, the execution circuitry is to shift bits of the first operand to the left by a number of times defined in the second operand, and pull in a bit of one from the right each time a most significant bit of the first operand is shifted out from the left to generate a result. Each bit in the result corresponds to one of the data elements of the array.
Abstract:
Es sind Systeme, Verfahren und Vorrichtungen beschrieben, die sich auf eine Elementsortierung von Vektoren beziehen. In einer Ausführungsform enthält ein Prozessor einen Decodierer zum Decodieren einer Anweisung in eine decodierte Anweisung; und eine Ausführungseinheit zum Ausführen der decodierten Anweisung zum: Bereitstellen einer Speicherung für eine Vergleichsmatrix, um einen Vergleichswert für jedes Element eines Eingabevektors zu speichern, verglichen mit den anderen Elementen des Eingabevektors, Durchführen einer Vergleichsoperation an Elementen des Eingabevektors entsprechend einer Speicherung von Vergleichswerten über eine Hauptdiagonale der Vergleichsmatrix, Durchführen einer anderen Operation an Elementen des Eingabevektors entsprechend einer Speicherung von Vergleichswerten unter der Hauptdiagonale der Vergleichsmatrix, und Speichern von Ergebnissen der Vergleichsoperation und der anderen Operation in der Vergleichsmatrix.
Abstract:
Beschrieben wird ein Prozessor mit einer Befehlsausführungspipeline. Die Befehlsausführungspipeline weist eine Befehlsabrufstufe zum Abrufen eines Befehls auf. Das Befehlsformat des Befehls spezifiziert einen ersten Eingangsvektor, einen zweiten Eingangsvektor und einen dritten Eingangsoperanden. Die Befehlsausführungspipeline umfasst eine Befehlsdecodierstufe zum Decodieren eines Befehls. Die Befehlsausführungspipeline weist eine Funktionseinheit zum Ausführen des Befehls auf. Die Funktionseinheit weist ein Routingnetz auf, um eine erste zusammenhängende Elementgruppe von einem ersten Ende eines der Eingangsvektoren an ein zweites Ende des resultierenden Vektors des Befehls zu leiten, und eine zweite zusammenhängende Elementgruppe von einem zweiten Ende des anderen der Eingangsvektoren an ein erstes Ende des resultierenden Vektors des Befehls zu leiten. Das erste und das zweite Ende sind einander gegenüberliegende Vektorenden. Die erste und die zweite zusammenhängende Elementgruppe werden anhand des dritten Eingangsoperanden definiert. Der Befehl ist nicht in der Lage, nicht zusammenhängende Elementgruppen aus den Eingangsvektoren in den resultierenden Vektor des Befehls zu leiten. Eine Software-Pipeline, die den Befehl verwendet, wird ebenfalls beschrieben