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 |