Vector maximum and minimum with indexing

US12481503B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12481503-B2
Application numberUS-202418670855-A
CountryUS
Kind codeB2
Filing dateMay 22, 2024
Priority dateMay 24, 2019
Publication dateNov 25, 2025
Grant dateNov 25, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method to compare first and second source data in a processor in response to a vector maximum with indexing instruction includes specifying first and second source registers containing first and second source data, a destination register storing compared data, and a predicate register. Each of the registers includes a plurality of lanes. The method includes executing the instruction by, for each lane in the first and second source register, comparing a value in the lane of the first source register to a value in the corresponding lane of the second source register to identify a maximum value, storing the maximum value in a corresponding lane of the destination register, asserting a corresponding lane of the predicate register if the maximum value is from the first source register, and de-asserting the corresponding lane of the predicate register if the maximum value is from the second source register.

First claim

Opening claim text (preview).

What is claimed is: 1 . A device, comprising: a first register configured to store a first set of values; a second register configured to store a second set of values; and a functional unit configured to: receive an instruction specifying the first register and the second register; based on the instruction, for each value of the first set of values and a corresponding value of the second set of values, compare the value of the first set of values to the corresponding value of the second set of values; identify one of the value of the first set of values and the corresponding value of the second set of values based the comparison; and store a value in a predicate register to indicate whether the identified value is from the first set of values or the second set of values; and perform an operation associated with the first set of values and the second set of values based on the values of the predicate register. 2 . The device of claim 1 , wherein the instruction specifies a maximum sorting operation, and wherein the identified value is a greater of the value of the first set of values and the corresponding value of the second set of values. 3 . The device of claim 1 , wherein the instruction specifies a minimum sorting operation, and wherein the identified value is a lesser of the value of the first set of values and the corresponding value of the second set of values. 4 . The device of claim 1 , comprising: a set of functional units including the functional unit, wherein the instruction specifies the functional unit. 5 . The device of claim 1 , wherein the instruction specifies whether the first set of values and the second set of values are signed or unsigned values. 6 . The device of claim 1 , wherein the instruction specifies the predicate register. 7 . The device of claim 1 , wherein the functional unit is further configured to: for each value of the first set of values and the corresponding value of the second set of values, store the identified value in the second register. 8 . The device of claim 1 , wherein the functional unit is further configured to: for each value of the first set of values and the corresponding value of the second set of values, store the identified value in a third register that is different from the first register and the second register. 9 . The device of claim 1 , wherein the first register includes a set of lanes each of which stores a respective value of the first set of values, and wherein the second register includes a set of lanes each of which stores a respective value of the second set of values. 10 . The device of claim 1 , wherein the first register is a 512-bit register, wherein the second register a 512-bit register, and wherein the predicate register is a 64-bit register. 11 . The device of claim 10 , wherein each value of the first set of values is a 8-bit value, wherein each value of the second set of value is a 8-bit value, and wherein each value of the values of the predicate register is a 1-bit value. 12 . The device of claim 1 , wherein the operation is a sorting operation, and wherein to perform the sorting operation, the functional unit is configured to exclude a value of the first set of values or a value of the second set of values from the sorting operation based on the values of the predicate register. 13 . The device of claim 1 , wherein the functional unit is further configured to determine a number of a specific value existing in the values of the predicate register. 14 . The device of claim 1 , wherein the functional unit is further configured to transfer the values of the predicate register to another register. 15 . A system, comprising: a memory configured to storing instructions including a first instruction, wherein the first instruction specifies a first register storing a first set of values and a second register storing a second set of values; a processor configured to execute the instructions to: based on the first instruction, for each value of the first set of values and a corresponding value of the second set of values, compare the value of the first set of values to the corresponding value of the second set of values; identify one of the value of the first set of values and the corresponding value of the second set of values based the comparison; and store a value in a third register to indicate whether the identified value is from the first set of values or the second set of values; and perform an operation associated with the first set of values and the second set of values based on the values of the third register. 16 . The system of claim 15 , wherein the first instruction specifies a maximum sorting operation, and wherein the identified value is a greater of the value of the first set of values and the corresponding value of the second set of values. 17 . The system of claim 15 , wherein the first instruction specifies a minimum sorting operation, and wherein the identified value is a lesser of the value of the first set of values and the corresponding value of the second set of values. 18 . The system of claim 15 , wherein the processor is further configured to: for each value of the first set of values and the corresponding value of the second set of values, store the identified value in a register. 19 . The system of claim 15 , wherein the operation is a sorting operation, and wherein to perform the sorting operation, the processor is configured to exclude a value of the first set of values or a value of the second set of values from the sorting operation based on the values of the third register. 20 . The system of claim 15 , wherein the processor is further configured to determine a number of a specific value existing in the values of the third register.

Assignees

Inventors

Classifications

  • controlled by a single instruction for multiple data lanes [SIMD] · CPC title

  • using a mask · CPC title

  • Bit or string instructions · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

  • Register structure · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12481503B2 cover?
A method to compare first and second source data in a processor in response to a vector maximum with indexing instruction includes specifying first and second source registers containing first and second source data, a destination register storing compared data, and a predicate register. Each of the registers includes a plurality of lanes. The method includes executing the instruction by, for e…
Who is the assignee on this patent?
Texas Instruments Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3013. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 25 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).