Next: Raw read/write Functions, Previous: Directly-mapped Integer Functions, Up: FR-V Built-in Functions
The functions listed below map directly to FR-V M-type instructions.
| Function prototype | Example usage | Assembly output
|
uw1 __MABSHS (sw1)
| b = __MABSHS (a)
| MABSHS a,b
|
void __MADDACCS (acc, acc)
| __MADDACCS (b, a)
| MADDACCS a,b
|
sw1 __MADDHSS (sw1, sw1)
| c = __MADDHSS (a, b)
| MADDHSS a,b,c
|
uw1 __MADDHUS (uw1, uw1)
| c = __MADDHUS (a, b)
| MADDHUS a,b,c
|
uw1 __MAND (uw1, uw1)
| c = __MAND (a, b)
| MAND a,b,c
|
void __MASACCS (acc, acc)
| __MASACCS (b, a)
| MASACCS a,b
|
uw1 __MAVEH (uw1, uw1)
| c = __MAVEH (a, b)
| MAVEH a,b,c
|
uw2 __MBTOH (uw1)
| b = __MBTOH (a)
| MBTOH a,b
|
void __MBTOHE (uw1 *, uw1)
| __MBTOHE (&b, a)
| MBTOHE a,b
|
void __MCLRACC (acc)
| __MCLRACC (a)
| MCLRACC a
|
void __MCLRACCA (void)
| __MCLRACCA ()
| MCLRACCA
|
uw1 __Mcop1 (uw1, uw1)
| c = __Mcop1 (a, b)
| Mcop1 a,b,c
|
uw1 __Mcop2 (uw1, uw1)
| c = __Mcop2 (a, b)
| Mcop2 a,b,c
|
uw1 __MCPLHI (uw2, const)
| c = __MCPLHI (a, b)
| MCPLHI a,#b,c
|
uw1 __MCPLI (uw2, const)
| c = __MCPLI (a, b)
| MCPLI a,#b,c
|
void __MCPXIS (acc, sw1, sw1)
| __MCPXIS (c, a, b)
| MCPXIS a,b,c
|
void __MCPXIU (acc, uw1, uw1)
| __MCPXIU (c, a, b)
| MCPXIU a,b,c
|
void __MCPXRS (acc, sw1, sw1)
| __MCPXRS (c, a, b)
| MCPXRS a,b,c
|
void __MCPXRU (acc, uw1, uw1)
| __MCPXRU (c, a, b)
| MCPXRU a,b,c
|
uw1 __MCUT (acc, uw1)
| c = __MCUT (a, b)
| MCUT a,b,c
|
uw1 __MCUTSS (acc, sw1)
| c = __MCUTSS (a, b)
| MCUTSS a,b,c
|
void __MDADDACCS (acc, acc)
| __MDADDACCS (b, a)
| MDADDACCS a,b
|
void __MDASACCS (acc, acc)
| __MDASACCS (b, a)
| MDASACCS a,b
|
uw2 __MDCUTSSI (acc, const)
| c = __MDCUTSSI (a, b)
| MDCUTSSI a,#b,c
|
uw2 __MDPACKH (uw2, uw2)
| c = __MDPACKH (a, b)
| MDPACKH a,b,c
|
uw2 __MDROTLI (uw2, const)
| c = __MDROTLI (a, b)
| MDROTLI a,#b,c
|
void __MDSUBACCS (acc, acc)
| __MDSUBACCS (b, a)
| MDSUBACCS a,b
|
void __MDUNPACKH (uw1 *, uw2)
| __MDUNPACKH (&b, a)
| MDUNPACKH a,b
|
uw2 __MEXPDHD (uw1, const)
| c = __MEXPDHD (a, b)
| MEXPDHD a,#b,c
|
uw1 __MEXPDHW (uw1, const)
| c = __MEXPDHW (a, b)
| MEXPDHW a,#b,c
|
uw1 __MHDSETH (uw1, const)
| c = __MHDSETH (a, b)
| MHDSETH a,#b,c
|
sw1 __MHDSETS (const)
| b = __MHDSETS (a)
| MHDSETS #a,b
|
uw1 __MHSETHIH (uw1, const)
| b = __MHSETHIH (b, a)
| MHSETHIH #a,b
|
sw1 __MHSETHIS (sw1, const)
| b = __MHSETHIS (b, a)
| MHSETHIS #a,b
|
uw1 __MHSETLOH (uw1, const)
| b = __MHSETLOH (b, a)
| MHSETLOH #a,b
|
sw1 __MHSETLOS (sw1, const)
| b = __MHSETLOS (b, a)
| MHSETLOS #a,b
|
uw1 __MHTOB (uw2)
| b = __MHTOB (a)
| MHTOB a,b
|
void __MMACHS (acc, sw1, sw1)
| __MMACHS (c, a, b)
| MMACHS a,b,c
|
void __MMACHU (acc, uw1, uw1)
| __MMACHU (c, a, b)
| MMACHU a,b,c
|
void __MMRDHS (acc, sw1, sw1)
| __MMRDHS (c, a, b)
| MMRDHS a,b,c
|
void __MMRDHU (acc, uw1, uw1)
| __MMRDHU (c, a, b)
| MMRDHU a,b,c
|
void __MMULHS (acc, sw1, sw1)
| __MMULHS (c, a, b)
| MMULHS a,b,c
|
void __MMULHU (acc, uw1, uw1)
| __MMULHU (c, a, b)
| MMULHU a,b,c
|
void __MMULXHS (acc, sw1, sw1)
| __MMULXHS (c, a, b)
| MMULXHS a,b,c
|
void __MMULXHU (acc, uw1, uw1)
| __MMULXHU (c, a, b)
| MMULXHU a,b,c
|
uw1 __MNOT (uw1)
| b = __MNOT (a)
| MNOT a,b
|
uw1 __MOR (uw1, uw1)
| c = __MOR (a, b)
| MOR a,b,c
|
uw1 __MPACKH (uh, uh)
| c = __MPACKH (a, b)
| MPACKH a,b,c
|
sw2 __MQADDHSS (sw2, sw2)
| c = __MQADDHSS (a, b)
| MQADDHSS a,b,c
|
uw2 __MQADDHUS (uw2, uw2)
| c = __MQADDHUS (a, b)
| MQADDHUS a,b,c
|
void __MQCPXIS (acc, sw2, sw2)
| __MQCPXIS (c, a, b)
| MQCPXIS a,b,c
|
void __MQCPXIU (acc, uw2, uw2)
| __MQCPXIU (c, a, b)
| MQCPXIU a,b,c
|
void __MQCPXRS (acc, sw2, sw2)
| __MQCPXRS (c, a, b)
| MQCPXRS a,b,c
|
void __MQCPXRU (acc, uw2, uw2)
| __MQCPXRU (c, a, b)
| MQCPXRU a,b,c
|
sw2 __MQLCLRHS (sw2, sw2)
| c = __MQLCLRHS (a, b)
| MQLCLRHS a,b,c
|
sw2 __MQLMTHS (sw2, sw2)
| c = __MQLMTHS (a, b)
| MQLMTHS a,b,c
|
void __MQMACHS (acc, sw2, sw2)
| __MQMACHS (c, a, b)
| MQMACHS a,b,c
|
void __MQMACHU (acc, uw2, uw2)
| __MQMACHU (c, a, b)
| MQMACHU a,b,c
|
void __MQMACXHS (acc, sw2, sw2)
| __MQMACXHS (c, a, b)
| MQMACXHS a,b,c
|
void __MQMULHS (acc, sw2, sw2)
| __MQMULHS (c, a, b)
| MQMULHS a,b,c
|
void __MQMULHU (acc, uw2, uw2)
| __MQMULHU (c, a, b)
| MQMULHU a,b,c
|
void __MQMULXHS (acc, sw2, sw2)
| __MQMULXHS (c, a, b)
| MQMULXHS a,b,c
|
void __MQMULXHU (acc, uw2, uw2)
| __MQMULXHU (c, a, b)
| MQMULXHU a,b,c
|
sw2 __MQSATHS (sw2, sw2)
| c = __MQSATHS (a, b)
| MQSATHS a,b,c
|
uw2 __MQSLLHI (uw2, int)
| c = __MQSLLHI (a, b)
| MQSLLHI a,b,c
|
sw2 __MQSRAHI (sw2, int)
| c = __MQSRAHI (a, b)
| MQSRAHI a,b,c
|
sw2 __MQSUBHSS (sw2, sw2)
| c = __MQSUBHSS (a, b)
| MQSUBHSS a,b,c
|
uw2 __MQSUBHUS (uw2, uw2)
| c = __MQSUBHUS (a, b)
| MQSUBHUS a,b,c
|
void __MQXMACHS (acc, sw2, sw2)
| __MQXMACHS (c, a, b)
| MQXMACHS a,b,c
|
void __MQXMACXHS (acc, sw2, sw2)
| __MQXMACXHS (c, a, b)
| MQXMACXHS a,b,c
|
uw1 __MRDACC (acc)
| b = __MRDACC (a)
| MRDACC a,b
|
uw1 __MRDACCG (acc)
| b = __MRDACCG (a)
| MRDACCG a,b
|
uw1 __MROTLI (uw1, const)
| c = __MROTLI (a, b)
| MROTLI a,#b,c
|
uw1 __MROTRI (uw1, const)
| c = __MROTRI (a, b)
| MROTRI a,#b,c
|
sw1 __MSATHS (sw1, sw1)
| c = __MSATHS (a, b)
| MSATHS a,b,c
|
uw1 __MSATHU (uw1, uw1)
| c = __MSATHU (a, b)
| MSATHU a,b,c
|
uw1 __MSLLHI (uw1, const)
| c = __MSLLHI (a, b)
| MSLLHI a,#b,c
|
sw1 __MSRAHI (sw1, const)
| c = __MSRAHI (a, b)
| MSRAHI a,#b,c
|
uw1 __MSRLHI (uw1, const)
| c = __MSRLHI (a, b)
| MSRLHI a,#b,c
|
void __MSUBACCS (acc, acc)
| __MSUBACCS (b, a)
| MSUBACCS a,b
|
sw1 __MSUBHSS (sw1, sw1)
| c = __MSUBHSS (a, b)
| MSUBHSS a,b,c
|
uw1 __MSUBHUS (uw1, uw1)
| c = __MSUBHUS (a, b)
| MSUBHUS a,b,c
|
void __MTRAP (void)
| __MTRAP ()
| MTRAP
|
uw2 __MUNPACKH (uw1)
| b = __MUNPACKH (a)
| MUNPACKH a,b
|
uw1 __MWCUT (uw2, uw1)
| c = __MWCUT (a, b)
| MWCUT a,b,c
|
void __MWTACC (acc, uw1)
| __MWTACC (b, a)
| MWTACC a,b
|
void __MWTACCG (acc, uw1)
| __MWTACCG (b, a)
| MWTACCG a,b
|
uw1 __MXOR (uw1, uw1)
| c = __MXOR (a, b)
| MXOR a,b,c
|