LoongMMI

LoongMMI（LoongMultiMedia extensions Instruction，简称MMI）指令集即龙芯多媒体扩展指令集，是LoongISA指令集架构的一个扩展指令集。LoongMMI部分指令为128位，故LoongMMI是128位多媒体向量指令集。LoongMMI指令集拓展对标英特尔的MMX SIMD多媒体指令集。龙芯中科在其龙芯2F中央处理器中首次添加LoongMMI指令集拓展，在其龙芯3A1000中央处理器中首次添加LoongISA版本的LoongMMI。LoongMMI指令集提供了80条指令，是龙芯64位通用架构长期支持的指令集拓展。

 历史 
LoongMMI在龙芯2F发布时第一次公开露面，在2F时代及其以后很长一段时间内被称为LoongSIMD，亦被称为Godson-MMX 。LoongMMI指令集手册也在2F时代公开。

龙芯课题组成为龙芯中科公司后，陆续研发了更多种类的芯片和微架构， 这些微架构在不同程度上实现了LoongMMI，但LoongISA版本的LoongMMI和原龙芯2F上所实现的LoongMMI有一定不同。虽然龙芯中科原本设计的GS232IP核计划自带LoongMMI，但以此微架构所实现的芯片例如龙芯1A300、龙芯1B、龙芯1C300从未真正实现过LoongMMI 。

LoongMMI现已用于龙芯的ffmpeg媒体编解码库，gcc社区也支持了此指令集LoongISA版本的优化选项（-mloongson-mmi）。此优化选项也被纳入到-march=loongson3a龙芯64通用架构及以后的微架构选项当中。相对于不使用此指令集，LoongMMI指令集的使用使多数多媒体格式的编解码的性能得到成倍提升。

 编译器相关选项 
若要在龙芯2F上使用2F版的LoongMMI 可以在编译时选择-march=loongson2f来使用此指令集。

若要在龙芯3A1000及以后的中央处理器或SoC上使用LoongISA版本的LoongMMI，可以在编译时单独选择 -mloongson-mmi，亦可选择龙芯64通用架构-march=loongson3a 或者是具体到单一的微架构，例如-march=gs464来使用此指令集。

 参考文献 

 参见 

 龙芯
 龙芯3A1000
 LoongISA
 精简指令集

Category:并发计算
Category:指令集架構
Category:龙芯
Category:LoongISA架构