TriCore
®
TC1.6P & TC1.6E
32-bit Unified Processor Core
Instruction Set Information
V1.0 2013-07
User Manual (Volume 2) 1-11
1.3.3 Floating Point Operation Syntax
The following table defines the floating point operation syntax.
Table 1-11 Floating Point Operation Syntax
Syntax Definition
ADD_NAN 7FC00001
H
MUL_NAN 7FC00002
H
SQRT_NAN 7FC00004
H
DIV_NAN 7FC00008
H
POS_INFINITY 7F800000
H
NEG_INFINITY FF800000
H
is_s_nan(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression:
(x[30:23] == 8'b11111111) AND (x[22] == 1’b0) AND (x[21:0] != 0);
is_q_nan(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression:
(x[30:23] == 8’b11111111) AND (x[22] == 1’b1);
is_nan(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression: (is_s_nan(x) OR
is_q_nan(x));
is_pos_inf(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression:
(x[31:0] == POS_INFINITY);
is_neg_inf(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression:
(x[31:0] == NEG_INFINITY);
is_inf(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression: (is_neg_inf(x) OR
is_pos_inf(x));
is_zero(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression: (x[30:0] == 0);
is_denorm(x) Takes the IEEE-754-1985 32-bit single precision floating point format value ‘x’
and returns the boolean result of the expression: (x[30:23] == 0) AND (x[22:0]
!= 0);
denorm_to_zero(x) If the IEEE-754-1985 32-bit single precision floating point format value ‘x’ is a
denormal value return the appropriately signed infinitely accurate real value 0.
Otherwise return ‘x’ as an infinitely accurate real value; i.e.
if((x < 0) AND (x > -2-126)) then return -0.0;
else if((x > 0) AND (x < 2126)) then return +0.0;
else return f_real(x);
round_to_integer(x,y) Returns a signed integer result of infinite width by rounding the IEEE-754-1985
32-bit single precision floating point format value ‘x’ to an integer value using
the IEEE-754-1985 mode specified by ‘y’.
round_to_unsigned(x,y) Returns an unsigned integer result of infinite width by rounding the IEEEV 32-
bit single precision floating point format value ‘x’ to an integer value using the
IEEE-754-1985 mode specified by ‘y’.