IP Library Granted Patent US 9,489,198
Granted Patent B2
US 9,489,198 · App. 15/015,991 · Granted Nov 8, 2016

Method and apparatus for performing logical compare operations

Inventors: Rajiv Kapoor (University Place, WA); Ronen Zohar (Sunnyvale, CA); Mark Buxton (Chandler, AZ); Zeev Sperber (Zichron Yaakov, IL); Koby Gottlieb (Kiryat Tivon, IL)
Assignee: Intel Corporation
G06F9/3001G06F7/026G06F9/30021G06F9/30029G06F9/30036G06F9/30094G06F9/30098G06F9/30145G06F9/30149G06F9/3887
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,489,198
App. No.
15/015,991
Granted
Nov 8, 2016
Kind
B2
Abstract

A method and apparatus for including in a processor instructions for performing logical-comparison and branch support operations on packed or unpacked data. In one embodiment, instruction decode logic decodes instructions for an execution unit to operate on packed data elements including logical comparisons. A register file including 128-bit packed data registers stores packed single-precision floating point (SPFP) and packed integer data elements. The logical comparisons may include comparison of SPFP data elements and comparison of integer data elements and setting at least one bit to indicate the results. Based on these comparisons, branch support actions are taken. Such branch support actions may include setting the at least one bit, which in turn may be utilized by a branching unit in response to a branch instruction. Alternatively, the branch support actions may include branching to an indicated target code location.

Claims (16)

1. A method comprising:

receiving in a processor, a first single instruction multiple data (SIMD) coprocessor comparison instruction to compare a first plurality of packed single-precision floating point (SPFP) data elements with a second plurality of SPFP data elements;

receiving in a processor, a second SIMD coprocessor comparison instruction to compare a third plurality of packed data elements with a fourth plurality of packed data elements; and

responsive to said second SIMD coprocessor comparison instruction, setting at least one bit of data to indicate a result of the second SIMD coprocessor comparison instruction, wherein the at least one bit of data is to control operation of a branch instruction.

2. The method of claim 1 wherein the first plurality and the second plurality of SPFP data elements are stored in one set of physical registers for storing floating point values.

3. The method of claim 1 wherein the third plurality and the fourth plurality of packed data elements are stored in one set of physical registers for storing vector data elements.

4. The method of claim 3 wherein the third plurality and the fourth plurality of packed data elements are each a byte in length.

5. The method of claim 3 wherein the third plurality and the fourth plurality of packed data elements are each a word in length.

6. A processor, comprising:

instruction decode logic to decode one or more instructions;

a data register file including a set of packed data registers, the packed data registers to store packed single-precision floating point (SPFP) data elements including a first plurality of SPFP data elements and a second plurality of SPFP data elements; and

one or more execution units coupled with said instruction decode logic to execute a first SIMD coprocessor comparison instruction to compare the first plurality of SPFP data elements with the second plurality of SPFP data elements;

said one or more execution units to also execute a second SIMD coprocessor comparison instruction to compare a third plurality of packed data elements with a fourth plurality of packed data elements, and responsive to said second SIMD coprocessor comparison instruction, to set at least one bit of data to indicate a result of the second SIMD coprocessor comparison instruction, wherein the at least one bit of data is to control operation of a branch instruction.

7. The processor of claim 6 wherein the third plurality and the fourth plurality of packed data elements are stored in a set of physical registers for storing vector data elements.

8. The processor of claim 7 wherein the third plurality and the fourth plurality of packed data elements are each a byte in length.

9. The processor of claim 7 wherein the third plurality and the fourth plurality of packed data elements are each a word in length.

Continuity (5)
Continuation 14684412 · Apr 12, 2015
Continuation 13763598 · Feb 8, 2013
Continuation 13082726 · Apr 8, 2011
Continuation 11525706 · Sep 21, 2006
Related Publication 20160154647A1 · Jun 2, 2016