AI Engine-ML Intrinsics User Guide  (v2023.2)

Intrinsics to set,get and clear the control registers. More...

Overview

Intrinsics to set,get and clear the control registers.

These registers have values by default afte reset.

Control registers:

Register Width Initial Meaning
crSat - Saturation Mode 2 0 0 – No saturation; truncation of MSBs
0 1 – Perform saturation
0 3 – Perform symmetric saturation
crRnd - Rounding Mode 4 0 Rounding modes
crFPMask 5 0 Flag mask for floating point operations
crF2IMask 5 0 Flag mask for float to int conversions
crF2FMask 5 0 Flag mask for int to float conversions
crMCDEn 1 1 MCD output enable
crSCDEn 1 1 SCD output enable
crVaddSign 1 0 Sign of dynamic VADD operations
crUnpackSign 1 0 Sign of dynamic unpack operations
crPackSign 1 0 Sign of dynamic pack operations
crUPSSign 1 0 Sign of dynamic UPS operations
crSRSSign 1 0 Sign of dynamic SRS operations

Miscellaneous control bits

Control saturation mode

unsigned int get_satmode ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
void set_satmode (unsigned int val)
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
void set_sat ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
void set_symsat ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
void clr_sat ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_sat ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_symsat ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_rnd ()
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
void set_rnd (unsigned int val)
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_fpmulmac_mask ()
 Floating point exception flag mask for multiply/accumulate instructions. More...
 
void set_fpmulmac_mask (unsigned int val)
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_fp2int_mask ()
 Floating point exception flag mask for float to integer conversions. More...
 
void set_fp2int_mask (unsigned int val)
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 
unsigned int get_fp2bf_mask ()
 Floating point exception flag mask for float to bfloat16 conversions. More...
 
void set_fp2bf_mask (unsigned int val)
 Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values. More...
 

Function Documentation

◆ clr_sat()

void clr_sat ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ get_fp2bf_mask()

unsigned int get_fp2bf_mask ( )

Floating point exception flag mask for float to bfloat16 conversions.

◆ get_fp2int_mask()

unsigned int get_fp2int_mask ( )

Floating point exception flag mask for float to integer conversions.

◆ get_fpmulmac_mask()

unsigned int get_fpmulmac_mask ( )

Floating point exception flag mask for multiply/accumulate instructions.

◆ get_rnd()

unsigned int get_rnd ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ get_sat()

unsigned int get_sat ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ get_satmode()

unsigned int get_satmode ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ get_symsat()

unsigned int get_symsat ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_fp2bf_mask()

void set_fp2bf_mask ( unsigned int  val)

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_fp2int_mask()

void set_fp2int_mask ( unsigned int  val)

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_fpmulmac_mask()

void set_fpmulmac_mask ( unsigned int  val)

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_rnd()

void set_rnd ( unsigned int  val)

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_sat()

void set_sat ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_satmode()

void set_satmode ( unsigned int  val)

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.

◆ set_symsat()

void set_symsat ( )

Control for rounding mode (for Shift-Round-Saturate). See Rounding modes for possible values.