6.59.12.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