IP Library Granted Patent US 9,063,720
Granted Patent B2
US 9,063,720 · App. 13/164,715 · Granted Jun 23, 2015

Instruction and logic for processing text strings

Inventors: Michael A. Julier (Los Gatos, CA); Jeffrey D. Gray (Portland, OR); Srinivas Chennupaty (Portland, OR); Sean P. Mirkes (Beaverton, OR); Mark P. Seconi (Beaverton, OR)
Assignee: Intel Corporation
G06F9/30029G06F9/30021G06F9/30036G06F9/30109G06F9/3013G06F9/30167G06F9/3017G06F9/30185G06F9/30192G06F9/3853G06F9/3887G06F9/3001G06F9/30G06F7/06G06F9/3885G06F9/34G06F9/3824
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,063,720
App. No.
13/164,715
Granted
Jun 23, 2015
Kind
B2
Abstract

Instruction, method, apparatus, and processing systems for performing a string comparison operation. An apparatus includes execution resources to execute a single-instruction-multiple-data (SIMD) comparison instruction. In response to the SIMD comparison instruction, said execution resources store a result of a comparison between each data element of a first and second operand corresponding to a first and second text string, respectively.

Claims (23)

1. A computer implemented method comprising:

making a determination as to which data elements of a first packed operand and which data elements of a second packed operand are valid;

comparing each valid data element of the first packed operand with each valid data element of the second packed operand responsive to a single-instruction-multiple-data (SIMD) comparison instruction; and

storing a first result of the SIMD comparison instruction for only comparisons made between valid data elements of the first and second packed operands.

2. The computer implemented method of claim 1 wherein the first result is to be represented by either a mask value or an index value.

3. An apparatus comprising:

comparison logic of an execution unit to compare each valid data element of a first packed operand to each valid data elements of a second packed operand in response to a single SIMD instruction;

a decoder to decode the single SIMD instruction into a first control signal to control the comparison logic.

4. The apparatus of claim 3 wherein the first control signal includes an aggregation function signal to indicate whether the comparison logic is to perform an aggregation function chosen from a list consisting of: any equal, equal range, each equal, non-contiguous sub-strings, and equal order.

5. A system comprising

a first memory to store a SIMD comparison instruction;

a processor to perform the SIMD comparison instruction to make a determination as to which data elements of a first packed operand and which data elements of a second packed operand are valid, to compare each valid data element of the first packed operand to each valid data elements of the second packed operand indicated by the SIMD comparison instruction and to store a result of the SIMD comparison instruction for only comparisons made between valid data elements of the first and second packed operands.

6. The system of claim 5 , wherein the instruction is to cause only explicitly valid data elements of the first and second operands to be compared.

7. The system of claim 5 , wherein the instruction is to cause only implicitly valid data elements of the first and second operands to be compared.

8. A processor comprising:

a non-transitory machine-readable first storage area to store a first packed operand;

a non-transitory machine-readable second storage area to store a second packed operand;

an execution unit comparison logic to make a determination as to which data elements of the first packed operand and which data elements of the second packed operand are valid and to compare all valid data elements of the first packed operand with all valid data elements of the second packed operand in response to a single SIMD instruction;

a non-transitory machine-readable third storage area to store a result for only comparisons made between valid data elements of the first and second packed operands of the comparison performed by the comparison logic in response to said single SIMD instruction.

9. The processor of claim 8 , wherein the result is to be represented by either a mask value or an index value.

10. The processor of claim 8 , wherein the instruction is to cause only explicitly valid data elements of the first and second operands to be compared.

11. The processor of claim 8 , wherein the instruction is to cause only implicitly valid data elements of the first and second operands to be compared.

12. The processor of claim 8 , wherein the processor issues a first control signal, which includes an aggregation function signal to indicate whether the comparison logic is to perform an aggregation function chosen from a list consisting of: any equal, equal range, each equal, non-contiguous sub-strings, and equal order.

Continuity (2)
Continuation 11525981 · Sep 22, 2006
Related Publication 20110246751A1 · Oct 6, 2011