IP Library › Granted Patent US 10,740,067
Granted Patent B2
US 10,740,067 · App. 15/631,061 · Granted Aug 11, 2020

Selective updating of floating point controls

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F7/483G06F9/30014G06F9/30076G06F9/30087G06F9/30101G06F9/30189G06F9/3836H03M7/24
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 10,740,067
App. No.
15/631,061
Granted
Aug 11, 2020
Kind
B2
Abstract

Setting or updating of floating point controls is managed. Floating point controls include controls used for floating point operations, such as rounding mode and/or other controls. Further, floating point controls include status associated with floating point operations, such as floating point exceptions and/or others. The management of the floating point controls includes efficiently updating the controls, while reducing costs associated therewith.

Claims (35)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:

obtaining a set floating point control instruction to set a floating point control to a value indicated by the instruction, the floating point control located in a register; and

executing the set floating point control instruction, the executing including:

determining whether the value of the floating point control indicated by the set floating point control instruction is equal to a current value of the floating point control; and

based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, using the current value of the floating point control by one or more instructions to perform one or more floating point operations, wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, execution of the set floating point control instruction is ended absent performing the set of the floating point control specified by the set floating point control instruction and avoiding a renaming of the register in which the floating point control is located.

2. The computer program product of claim 1 , wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, serialization of readers of the floating point control is avoided.

3. The computer program product of claim 1 , wherein the method further comprises executing, based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, an instruction that uses the floating point control, the executing the instruction being absent serialization of execution of the instruction with respect to updating the floating point control.

4. The computer program product of claim 1 , wherein the method further comprises performing serialization of one or more readers of the floating point control, based on determining that the value of the floating point control indicated by the set floating point control instruction is unequal to the current value of the floating point control.

5. The computer program product of claim 1 , wherein the register comprises a floating point control register.

6. The computer program product of claim 1 , wherein the set floating point control instruction comprises an operation code field including an operation code indicating a set operation, a target operand field indicating a location to include the current value, and a source operand field used to indicate the value.

7. The computer program product of claim 1 , wherein the set floating point control instruction includes a field used to obtain the value to be used to set the floating point control.

8. The computer program product of claim 7 , wherein the set floating point control instruction further includes another field used to obtain the current value of the floating point control.

9. The computer program product of claim 1 , wherein the floating point control comprises a rounding mode.

10. The computer program product of claim 1 , wherein the floating point control comprises a floating point exception.

11. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

obtaining a set floating point control instruction to set a floating point control to a value indicated by the instruction, the floating point control located in a register; and

executing the set floating point control instruction, the executing including:

determining whether the value of the floating point control indicated by the set floating point control instruction is equal to a current value of the floating point control; and

based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, using the current value of the floating point control by one or more instructions to perform one or more floating point operations, wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, execution of the set floating point control instruction is ended absent performing the set of the floating point control specified by the set floating point control instruction and avoiding a renaming of the register in which the floating point control is located.

12. The computer system of claim 11 , wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, serialization of readers of the floating point control is avoided.

13. The computer system of claim 11 , wherein the method further comprises executing, based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, an instruction that uses the floating point control, the executing the instruction being absent serialization of execution of the instruction with respect to updating the floating point control.

14. The computer system of claim 11 , wherein the method further comprises performing serialization of one or more readers of the floating point control, based on determining that the value of the floating point control indicated by the set floating point control instruction is unequal to the current value of the floating point control.

15. The computer system of claim 11 , wherein the register comprises a floating point control register.

16. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

obtaining, by a processor, a set floating point control instruction to set a floating point control to a value indicated by the instruction, the floating point control located in a register; and

executing the set floating point control instruction, the executing including:

determining whether the value of the floating point control indicated by the set floating point control instruction is equal to a current value of the floating point control; and

based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value to the floating point control, using the current value of the floating point control by one or more instructions to perform one or more floating point operations, wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, execution of the set floating point control instruction is ended absent performing the set of the floating point control specified by the set floating point control instruction and avoiding a renaming of the register in which the floating point control is located.

17. The computer-implemented method of claim 16 , wherein based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, serialization of readers of the floating point control is avoided.

18. The computer-implemented method of claim 16 , further comprising executing, based on determining that the value of the floating point control indicated by the set floating point control instruction is equal to the current value of the floating point control, an instruction that uses the floating point control, the executing the instruction being absent serialization of execution of the instruction with respect to updating the floating point control.

19. The computer-implemented method of claim 16 , further comprising performing serialization of one or more readers of the floating point control, based on determining that the value of the floating point control indicated by the set floating point control instruction is unequal to the current value of the floating point control.

20. The computer-implemented method of claim 16 , wherein the register comprises a floating point control register.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: GSCHWIND, MICHAEL K.; SALAPURA, VALENTINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042797/0051 →
Continuity (1)
Related Publication 20180373496A1 · Dec 27, 2018
Cited By (1)
US 12,613,704