RRO : Range Reduction Operator FP

Format

SPA 5.0:
        {@{!}Pg}   RRO.mode   Rd,{-}{|}Sb{|}   {&req_6}   {?sched}   ;   

 .mode:      { .SINCOS, .EX2 } 
             .mode controls SIN/COS or EX2 encoding:
               SINCOS(0): for SIN or COS
               EX2(1):    for EX2.

The following source Sb is allowed:
    Sb(register)
    Sb(constant with immediate address)
    Sb(#IMM20<<12)

Denorm input Sb is flushed to sign preserving 0.0. The source has optional neg/abs.

Description

Range reduction operator.

RRO must be called to reduce the range and encode the source value before calling MUFU.SIN/MUFU.COS or MUFU.EX2. Input for SIN/COS is in radians.

SIN/COS Destination encoding:

S:U01 0 UNUSED:U05 Quadrant:U02 Fraction:U23 (of quadrant)
S:U01 1 UNUSED:U05 00:NaN UNUSED:U23
S:U01 1 UNUSED:U05 01:Inf UNUSED:U23

EX2:

S:U01 0 Integer:U07 Fraction:U23 (of integer)
S:U01 1 UNUSED:U05 00:NaN UNUSED:U23
S:U01 1 UNUSED:U05 01:Inf UNUSED:U23

Examples:

RRO.EX2    R0, R1;
RRO.SINCOS R1, -c[3][4560];

Back to Index of Instructions