3.10 Intrinsic functions

Intrinsic functions were validated by #pragma directives in the CA78K0R, whereas intrinsic functions can always be used in the CC-RL. If there is an intrinsic function of the CC-RL that corresponds to an intrinsic function of the CA78K0R, the CcnvCA78K0R deletes the relevant #pragma directive in the C source program and changes the code where the intrinsic function is called.

 

-

If there is no relevant #pragma directive, the intrinsic function is determined to be invalid and it will not be converted.

-

The CcnvCA78K0R deletes #pragma directives for the intrinsic functions that are not supported in the CC-RL and outputs a message. The code where the intrinsic functions are called will not be converted.

-

The order of the parameters is different in the CA78K0R's intrinsic functions macuw and macsw and their corresponding CC-RL's intrinsic functions __macui and __macsi. The order of the parameters is also rearranged at conversion.

 

Table 3.4

Conversion of Intrinsic Functions

CA78K0R

Intrinsic Function

After Conversion

Remarks

#pragma DI

DI

Deleted

__DI

 

#pragma EI

EI

Deleted

__EI

 

#pragma HALT

HALT

Deleted

__halt

 

#pragma STOP

STOP

Deleted

__stop

 

#pragma BRK

BRK

Deleted

__brk

 

#pragma NOP

NOP

Deleted

__nop

 

#pragma rot

rolb

rorb

rolw

rorw

Deleted

__rolb

__rorb

__rolw

__rorw

 

#pragma mul

mulu

muluw

mulsw

Deleted

__mulu

__mului

__mulsi

 

#pragma div

divuw

moduw

Deleted

__divui

__remui

 

#pragma mac

macuw ( x, y, z )

macsw ( x, y, z )

Deleted

__macui( y, z, x )

__macsi( y, z, x )

Also the order of the parameters is rearranged.

#pragma bcd

adbcdb, sbbcdb,

adbcdbe, sbbcdbe,

adbcdw, sbbcdw,

adbcdwe, sbbcdwe,

bcdtob, btobcde,

bcdtow, wtobcd,

btobcd

Deleted

Not any one of them is converted.

Not supported in the CC-RL.

#pragma opc

__OPC

Deleted

Not converted

Not supported in the CC-RL.