Apparatus and method for an enhanced integer divide in an IA64 architecture
First Claim
Patent Images
1. A method of performing an integer divide operation in a data processing device, comprising:
- receiving a call to an integer divide routine;
creating instruction bundles for the integer divide routine; and
replacing one or more instructions in the instruction bundles with an integer divide check operation.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for performing integer divide operations in an IA64 architecture based data processing system is provided. The apparatus and method insert integer divide checks in place of NOP instructions in the instruction bundles associated with integer divide operations. The checks serve to identify typically encountered integer divide operations. Based on such identifications, the integer divide operation may be short-circuited such that the appropriate result may be returned without having to complete the integer divide operation.
-
Citations
30 Claims
-
1. A method of performing an integer divide operation in a data processing device, comprising:
-
receiving a call to an integer divide routine;
creating instruction bundles for the integer divide routine; and
replacing one or more instructions in the instruction bundles with an integer divide check operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
checking the integer divide operation using the integer divide check operation; and
returning a result of the integer divide operation based on a positive outcome of checking the integer divide operation using the integer divide check operation, wherein the result is returned without completing execution of the integer divide routine, and wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
-
8. The method of claim 1, wherein the integer divide check operation short-circuits the integer divide routine when a result of the integer divide check operation is positive, to thereby output a result without completing the execution of the integer divide routine, wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
9. The method of claim 1, wherein replacing one or more instructions with an integer divide check operation is performed repeatedly.
-
10. The method of claim 1, wherein the one or more instructions are NOP instructions.
-
11. An apparatus for performing an integer divide operation in a data processing device, comprising:
-
means for receiving a call to an integer divide routine;
means for creating instruction bundles for the integer divide routine; and
means for replacing one or more instructions in the instruction bundles with an integer divide check operation. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
means for checking the integer divide operation using the integer divide check operation; and
means for returning a result of the integer divide operation based on a positive outcome of checking the integer divide operation using the integer divide check operation, wherein the result is returned without completing execution of the integer divide routine, and wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
-
18. The apparatus of claim 11, wherein the integer divide check operation short-circuits the integer divide routine when a result of the integer divide check operation is positive, to thereby output a result without completing the execution of the integer divide routine, wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
19. The apparatus of claim 11, wherein the means for replacing one or more instructions with an integer divide check operation performs the replacing of the one or more instructions repeatedly.
-
20. The apparatus of claim 11, wherein the one or more instructions are NOP instructions.
-
21. A computer program product in a computer readable medium for performing an integer divide operation in a data processing device, comprising:
-
first instructions for receiving a call to an integer divide routine;
second instructions for creating instruction bundles for the integer divide routine; and
third instructions for replacing one or more instructions in the instruction bundles with an integer divide check operation. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
fourth instructions for checking the integer divide operation using the integer divide check operation; and
fifth instructions for returning a result of the integer divide operation based on a positive outcome of checking the integer divide operation using the integer divide check operation, wherein the result is returned without completing execution of the integer divide routine, and wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
-
28. The computer program product of claim 21, wherein the integer divide check operation short-circuits the integer divide routine when a result of the integer divide check operation is positive, to thereby output a result without completing the execution of the integer divide routine, wherein the result is a result that would have been obtained had execution of the integer divide routine been permitted to complete.
-
29. The computer program product of claim 21, wherein the third instructions for replacing one or more instructions with an integer divide check operation are executed repeatedly.
-
30. The computer program product of claim 21, wherein the one or more instructions are NOP instructions.
Specification