##### 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