我想使用MMX指令集来优化我的Linux C程序,它对以RGB格式存储的图像执行大量操作(每个RGB组件都存储在unsigned char中)。操作是微不足道的:我从另一个像素中减去一个图像,并累加差异的绝对值之和。 (基本上,我有一个小图像或图案,我试图找出该图案是否存在于更大的图像中。)
我知道这可以使用MMX指令以汇编语言编码,以SIMD方式执行单个字节操作。但是,有更简单的方法吗?可能是库,还是使用MMX指令的更高级别的接口?
答案 0 :(得分:0)
通常会有#include
标题,通常称为intrinsics.h
。 This page显示了如何将MMX与C一起使用。#includes
文件emmintrin.h
。也许该文件存在于Linux中?
此外,如果您正在使用远程最近的硬件,您可能希望至少使用SSE,如果不是SSE2。我相信他们可以以类似的方式被包括在内。