Operand conversion optimization
First Claim
1. A method comprising:
- expanding an application into a series of operations, the series of operations including a first operation and a second operation;
examining the series of operations to determine that;
a result of the first operation is an operand of the second operation, and the series of operations includes a first conversion of the result of the first operation from a first format to a second format after the first operation and a second conversion of the operand of the second operation from the second format to the first format prior to the second operation; and
eliminating the first conversion and the second conversion from the series of operations.
1 Assignment
0 Petitions
Accused Products
Abstract
According to the invention, optimization of an application by elimination of redundant operand conversions is disclosed. According to one embodiment, the optimization comprises receiving an application that includes one or more operations, with one or more operands of the operations being converted from a first format to a second format before performing an operation; determining the origin of the one or more operands that are converted from the first format to the second format; and if the origin of any of the one or more operands that are converted from the first format to a second format is a conversion from the second format to the first format, then eliminating the redundant conversion from the second format to the first format and from the first format to the second format.
5 Citations
26 Claims
-
1. A method comprising:
-
expanding an application into a series of operations, the series of operations including a first operation and a second operation;
examining the series of operations to determine that;
a result of the first operation is an operand of the second operation, and the series of operations includes a first conversion of the result of the first operation from a first format to a second format after the first operation and a second conversion of the operand of the second operation from the second format to the first format prior to the second operation; and
eliminating the first conversion and the second conversion from the series of operations. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving an application, the application including one or more floating point calculations;
expanding the application, the expansion of the application comprising expanding the floating point calculations into a series of floating point operations on floating point operands, the floating point operations including a conversion of an operand of a floating point operation from a packed format to an unpacked format prior to the performance of the floating point operation and converting the result of a floating point operation from the unpacked format to the packed format after the performance of the floating point operation;
determining that a result of a first floating point operation of the series of floating point operation is an operand of a second floating point operation of the series of floating point operations; and
eliminating the conversion of the result of the first floating operation from the unpacked format to the packed format and the conversion of the operand of the second floating point operation from the packed format to the unpacked format. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:
-
expanding an application into a series of operations, the series of operations including a first operation and a second operation;
examining the series of operations to determine that;
a result of the first operation is an operand of the second operation, and the series of operations includes a first conversion of the result of the first operation from a first format to a second format after the first operation and a second conversion of the operand of the second operation from the second format to the first format prior to the second operation; and
eliminating the first conversion and the second conversion from the series of operations. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:
-
receiving an application, the application including one or more floating point calculations;
expanding the application, the expansion of the application comprising expanding the floating point calculations into a series of floating point operations on floating point operands, the floating point operations including a conversion of an operand of a floating point operation from a packed format to an unpacked format prior to the performance of the floating point operation and converting the result of a floating point operation from the unpacked format to the packed format after the performance of the floating point operation;
determining that a result of a first floating point operation of the series of floating point operation is an operand of a second floating point operation of the series of floating point operations; and
eliminating the conversion of the result of the first floating operation from the unpacked format to the packed format and the conversion of the operand of the second floating point operation from the packed format to the unpacked format. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification