EasyManua.ls Logo

Renesas SuperH SH-4A - Page 390

Renesas SuperH SH-4A
472 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Rev. 1.50, 10/04, page 370 of 448
Operation:
void FCMP_EQ(int m,n) /* FCMP/EQ FRm,FRn */
{
pc += 2;
clear_cause();
if(fcmp_chk(m,n) == INVALID) fcmp_invalid();
else if(fcmp_chk(m,n) == EQ) T = 1;
else T = 0;
}
void FCMP_GT(int m,n) /* FCMP/GT FRm,FRn */
{
pc += 2;
clear_cause();
if ((fcmp_chk(m,n) == INVALID) ||
(fcmp_chk(m,n) == UO)) fcmp_invalid();
else if(fcmp_chk(m,n) == GT) T = 1;
else T = 0;
}
int fcmp_chk (int m,n)
{
if((data_type_of(m) == sNaN) ||
(data_type_of(n) == sNaN)) return(INVALID);
else if((data_type_of(m) == qNaN) ||
(data_type_of(n) == qNaN)) return(UO);
else switch(data_type_of(m)){
case NORM: switch(data_type_of(n)){
case PINF :return(GT); break;
case NINF :return(LT); break;
default: break;
} break;
case PZERO:
case NZERO: switch(data_type_of(n)){
case PZERO :
case NZERO :return(EQ); break;
default: break;
} break;

Table of Contents

Related product manuals