5.47.4.3 Directly-mapped Media 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
|