Claims Analysis
Total Claims: 37
Claim 1
Independent Claim
175 words
A method for creating a computer program on a computer readable media for execution by a vector processor, the method comprising: a computer system reading a computer program written in a superset of C programming language, wherein the C programming language defines a plurality of operations and does not specify for each operation in said plurality how the operation is to be implemented in the vector processor, the computer program further including: a declaration of a value having a vector type, the vector type being part of a programming model of the vector processor, the vector type being distinct from an array type included in the C programming language; and a first operation having the vector type value as an operand, the first operation corresponding to a vector processor instruction VPI1 that can be executed by the vector processor and that has at least a vector operand; and the computer system generating one or more vector processor instructions that together implement the first operation, the one or more instructions including one or more VPI1 instructions.
Claim 2
Independent Claim
175 words
A method for creating a computer program on a computer readable media for execution by a vector processor, the method comprising: a computer system reading a computer program written in a superset of C programming language, wherein the C programming language defines a plurality of operations and does not specify for each operation in said plurality how the operation is to be implemented in the vector processor, the computer program further including: a declaration of a value having a vector type, the vector type being part of a programming model of the vector processor, the vector type being distinct from an array type included in the C programming language; and a first operation having the vector type value as an operand, the first operation corresponding to a vector processor instruction VPI1 that can be executed by the vector processor and that has at least a vector operand; and the computer system generating one or more vector processor instructions that together implement the first operation, the one or more instructions including one or more VPI1 instructions.
Claim 3
Dependent Claim
39 words
The method of claim 1, wherein said high level language does not specify for each value whether the value is to be stored in a register of the vector processor or in a memory external to the vector processor.
Claim 4
Dependent Claim
20 words
The method of claim 1, wherein the program does not specify how the vector type value is to be stored.
Claim 5
Dependent Claim
38 words
The method of claim 1, wherein: the computer program further includes declaration of a selection mask; and the first vector operation is subjected to the selection mask to determine which elements of the vector operand are operated upon.
Claim 6
Dependent Claim
18 words
The method of claim 4 wherein: the first operation does not have the selection mask as an operand.
Claim 7
Dependent Claim
36 words
The method of claim 4 wherein: the first operation is a vector ALU operation; and each bit in the selection mask indicates if a corresponding element of the vector operand is affected by the first operation.
Claim 8
Dependent Claim
36 words
The method of claim 4 wherein: the first operation is a memory access operation; and each bit in the selection mask indicates if a corresponding element of the vector operand is affected by the first operation.
Claim 9
Dependent Claim
15 words
The method of claim 1, wherein said first operation comprises one or more arithmetic operations.
Claim 10
Dependent Claim
17 words
The method of claim 1 wherein a destination of the first operation has a plurality of operands.
Claim 11
Dependent Claim
15 words
The method of claim 1, wherein said first operation comprises one or more matrix operands.
Claim 12
Dependent Claim
15 words
The method of claim 1, wherein said first operation comprises one or more 9-bit operands.
Claim 13
Dependent Claim
13 words
The method of claim 1, wherein said superset includes the C++ programming language.
Claim 14
Dependent Claim
28 words
The method of claim 1, wherein said computer system comprises a control processor, the vector processor and a cache memory coupling said control processor to said vector processor.
Claim 15
Dependent Claim
28 words
The method of claim 13, wherein the control processor signals the vector processor to start execution, but the vector processor cannot cause the control processor to start execution.
Claim 16
Dependent Claim
19 words
The method of claim 1 wherein: the value is included in a structure type of the C programming language.
Claim 17
Dependent Claim
11 words
The method of claim 1, wherein: the value is a pointer.
Claim 18
Dependent Claim
18 words
The method of claim 16, wherein: the first operation passes the pointer as an argument to a function.
Claim 19
Dependent Claim
59 words
The method of claim 1, wherein: the vector operand is hereinafter referred to as VA; and the first operation indicates calculation of the average of each element of VA with index value i with the element having an index value of i+1 and storing the average in the element having an index value of i of a result vector.
Claim 20
Dependent Claim
77 words
The method of claim 18, wherein: the vector operand is hereinafter referred to as VA; the first operation has another vector operand VB; and the first operation indicates calculation of the average of each element of VA having an index value i with the element of VA having index value i+1 and the elements of VB having index values i amd i+1 and storing the average in element having index value of i of a result vector.
Claim 21
Dependent Claim
23 words
The method of claim 1, wherein: the first operation is a logical operation selected from a group consisting of AND, OR and NOR.
Claim 22
Dependent Claim
43 words
The method of claim 1, wherein: the first operation is a shift operation with a scalar operand s that indicates the number of bits to be shifted, and the shift operation being selected from a group consisting of left shift and right shift.
Claim 23
Dependent Claim
30 words
The method of claim 1, wherein the first operation is selected from a group consisting of: a max exchange operation; an extract sign operation; and a count leading zeros operation.
Claim 24
Dependent Claim
33 words
The method of claim 1, wherein: the first operation has a scalar operand i; and the first operation divides the vector operand by 2 i and stores the result in another vector operand.
Claim 25
Dependent Claim
43 words
The method of claim 1, wherein: the vector operand is hereinafter referred to as VA; the first operation also has a scalar operand i; and the first operation extracts the ith element of vector VA and stores the result into another scalar operand.
Claim 26
Dependent Claim
74 words
The method of claim 1, wherein: the vector operand is hereinafter referred to as VA; the first operation has additional vector operands VB, VC and VD; and the first operation indicates multiplication of each element of VA by the corresponding element of VB, then addition of the corresponding element of VC to the double precision result of the multiplication and storing the double precision result of the addition in the corresponding element of VD.
Claim 27
Dependent Claim
39 words
The method of claim 1, wherein: the vector operand is hereinafter referred to as VA; the first operation stores the result into another vector operand VC in an element j that is different from an element i of VA.
Claim 28
Independent Claim
37 words
The method of clam 26, wherein: the first operation has additional vector operands VB and VD; and the first operation shuffles the elements of vector VA and VB and stores the result in vectors VC and VD.
Claim 29
Independent Claim
37 words
The method of clam 26, wherein: the first operation has additional vector operands VB and VD; and the first operation shuffles the elements of vector VA and VB and stores the result in vectors VC and VD.
Claim 30
Dependent Claim
37 words
The method of claim 26, wherein: the first operation has additional vector operands VB and VD; and the first operation unshuffles the elements of vector VA and VB and stores the result in vectors VC and VD.
Claim 31
Dependent Claim
33 words
The method of claim 26 wherein: the first operation has an additional vector operand VB; and the first operation is specified in the computer program by an operator located between VA and VB.
Claim 32
Dependent Claim
32 words
The method of claim 1, wherein the first operation is selected from a group consisting of: a multiply and add operation; an add and add sign operation; and an add horizontal operation.
Claim 33
Dependent Claim
26 words
The method of claim 30, wherein: the first operation is specified in the computer program by an operator located between the vector operand and another operand.
Claim 34
Dependent Claim
49 words
The method of claim 1, wherein: the declaration includes an initialization of the vector operand, the initialization being specified by use of the "=" sign, followed by a plurality of values for elements in the vector operand, the plurality of values being enclosed within the "{" and "}" signs.
Claim 35
Dependent Claim
26 words
The method of claim 1 wherein: the first operation is specified in the computer program by an operator located between the vector operand and another operand.
Claim 36
Dependent Claim
33 words
The method of claim 33 wherein: the operator includes a predetermined symbol followed by at least one letter of the English language, the predetermined symbol being not included in the C programming language.
Claim 37
Dependent Claim
22 words
The method of claim 33 wherein: the superset has a grammar that extends the grammar of the ANSI standard of C language.