# US 10,310,814 B2 · Read and set floating point control register instruction

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,814 B2
- Document ID: US10310814B2
- Status: Granted
- Kind: B2
- Application number: 15/631,106
- Filed: 2017-06-23
- Published: 2018-12-27
- Granted: 2019-06-04
- Earliest claimed: 2017-06-23
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Michael K. Gschwind; Valentina Salapura
- Web page: https://patentgrep.com/patent/US10310814B2

## CPC

- G06F 7/483: Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)}
- G06F 9/30014: {with variable precision}
- G06F 9/30076: {to perform miscellaneous control operations, e.g. NOP}
- G06F 9/30094: {Condition code generation, e.g. Carry, Zero flag}
- G06F 9/30101: {Special purpose registers}
- G06F 9/30189: {according to execution mode, e.g. mode flag}
- G06F 9/3861: {Recovery, e.g. branch miss-prediction, exception handling (error detection or correction G06F11/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A computer program product for facilitating processing within a computing environment, the computer program product comprising:
a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:
obtaining an instruction to be executed, the instruction having associated therewith an operation code to indicate a read and set floating point control register operation; and
executing the instruction, the executing including:
reading one or more controls from a floating point control register; and
updating at least one control of the one or more controls comprising writing a value of the at least one control to the floating point control register, wherein the reading and updating are performed as one atomic operation.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the instruction includes one field used to obtain at least one updated value to update the at least one control.

### Claim 3 (depends on 2)

The computer program product of claim 2, wherein the instruction further includes another field used to obtain at least one current value of the at least one control.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein the at least one control comprises a rounding mode control.

### Claim 5 (depends on 1)

The computer program product of claim 1, wherein the at least one control comprises an exception control.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the instruction further includes at least one field used to explicitly specify the at least one control to be updated.

### Claim 7 (depends on 1)

The computer program product of claim 1, wherein the instruction further includes a field used to indicate a mask, the mask explicitly specifying the at least one control to be updated.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the mask includes a plurality of indicators for a plurality of selectable controls to be updated, wherein an indicator set to a defined value indicates a control to be updated.

### Claim 9 (depends on 1)

The computer program product of claim 1, wherein the reading the one or more controls comprises reading one or more values of the one or more controls from the floating point control register and saving the one or more values of the one or more controls in a target operand of the instruction.

### Claim 10 (depends on 1)

The computer program product of claim 1, wherein the updating the at least one control comprises writing a value of the at least one control specified by a source operand of the instruction to the floating point control register.

### Claim 11 (depends on 1)

The computer program product of claim 1, wherein the updating the at least one control is performed based on determining at least one updated value of the at least one control is different from at least one value of the at least one control stored in the floating point control register.

### Claim 12

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 an instruction to be executed, the instruction having associated therewith an operation code to indicate a read and set floating point control register operation; and
executing the instruction, the executing including:
reading one or more controls from a floating point control register; and
updating at least one control of the one or more controls comprising writing a value of the at least one control to the floating point control register, wherein the reading and updating are performed as one atomic operation.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the instruction further includes one field used to obtain at least one updated value to update the at least one control.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the instruction further includes another field used to obtain at least one current value of the at least one control.

### Claim 15 (depends on 12)

The computer system of claim 12, wherein the instruction further includes at least one field used to explicitly specify the at least one control to be updated.

### Claim 16 (depends on 1)

The computer system of claim 1, wherein the updating the at least one control is performed based on determining at least one updated value of the at least one control is different from at least one value of the at least one control stored in the floating point control register.
