Skip to content

FSCALE

Operation

Scales the destination by a power of two derived from the rounded source.

Assembler Syntax

FSCALE.{S|D}(z) <ea>(e), Fn(d)

FSCALE.{S|D}(z) Fn(s), Fn(d)

Privilege

Unprivileged

Required CPUID flags

FP

Repeat eligibility

REP eligible

Scales the selected floating-point destination by an integral power of two derived from the source and writes the rounded result.

Let \(x\) be the destination value after DAZ processing and let \(k\) be the source value rounded to an integer using the current rounding mode. The mathematical result before format rounding is $\(x \times 2^k .\)$ A NaN operand is propagated according to the common floating-point rules. Multiplying zero or infinity by the power of two preserves that value and its sign. Conversion of the scale operand to \(k\) can generate NX; final rounding can generate OF, UF, or NX. An enabled floating-point exception condition raises the FLOATING_POINT_EXCEPTION architectural event before the destination is written.

2.75in

Encodings

FSCALE.{S|D}(z) <ea>(e), Fn(d)

Format: Instruction format for FSCALE.{S|D}(z) <ea>(e), Fn(d)

Format: Instruction format for FSCALE.{S|D}(z) <ea>(e), Fn(d)

2.75in FSCALE.{S|D}(z) Fn(s), Fn(d)

Format: Instruction format for FSCALE.{S|D}(z) Fn(s), Fn(d)

Format: Instruction format for FSCALE.{S|D}(z) Fn(s), Fn(d)