Back to results
US 8,560,591 B2Granted
Detection of potential need to use a larger data format in performing floating point operations
AssigneeInternational Business Machines Corporation
InventorsShawn D. Lundvall, Ronald M. Smith, Sr., Phil C. Yeh, Michael Frederic Cowlishaw
Life of this patent
Estimating the term…
Abstract
Detection of whether a result of a floating point operation is safe. Characteristics of the result are examined to determine whether the result is safe or potentially unsafe, as defined by the user. An instruction is provided to facilitate detection of safe or potentially unsafe results.
Claims25
An article of manufacture comprising:
- at least one computer usable medium having computer readable program code logic to execute a machine instruction in a central processing unit, said computer readable program code logic when executing performing the following:
- obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode, a register field, an index field, a base field and a displacement value;
- and
- performing a function defined by the opcode of the machine instruction of determining whether a first operand included in a register specified by the register field is a safe decimal floating point number or is a potentially unsafe decimal floating point number, said function comprising:
- determining a data group and a sign for the first operand;
- determining a plurality of second operand bits using the index field, base field and displacement value of the machine instruction, each bit of the plurality of second operand bits corresponding to a data group and sign combination;
- selecting a bit of the plurality of second operand bits based on the data group and sign determined for the first operand;
- determining a value of the selected bit;
- and
- setting a condition code based on the value of the selected bit, the condition code indicating whether a result of a floating point operation is safe or potentially unsafe.
7 more elements
A method for executing a machine instruction in a central processing unit, said method comprising:
- obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode, a register field, an index field, a base field and a displacement value;
- and
- performing a function defined by the opcode of the machine instruction of determining whether a first operand included in a register specified by the register field is a safe decimal floating point number or is a potentially unsafe decimal floating point number, said function comprising:
- determining a data group and a sign for the first operand;
- determining a plurality of second operand bits using the index field, base field and displacement value of the machine instruction, each bit of the plurality of second operand bits corresponding to a data group and sign combination;
- selecting a bit of the plurality of second operand bits based on the data group and sign determined for the first operand;
- determining a value of the selected bit;
- and
- setting a condition code based on the value of the selected bit, the condition code indicating whether a result of a floating point operation is safe or potentially unsafe.
6 more elements
A system for executing a machine instruction in a central processing unit, said system comprising:
- a memory;
- a processor to obtain a machine instruction for execution from the memory, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode, a register field, an index field, a base field and a displacement value;
- and
- the processor to perform a function defined by the opcode of the machine instruction of determining whether a first operand included in a register specified by the register field is a safe decimal floating point number or is a potentially unsafe decimal floating point number, said function comprising:
- determining a data group and a sign for the first operand;
- determining a plurality of second operand bits using the index field, base field and displacement value of the machine instruction, each bit of the plurality of second operand bits corresponding to a data group and sign combination;
- selecting a bit of the plurality of second operand bits based on the data group and sign determined for the first operand;
- determining a value of the selected bit;
- and
- setting a condition code based on the value of the selected bit, the condition code indicating whether a result of a floating point operation is safe or potentially unsafe.
7 more elements
Dependencies are inferred from the claim text.