由MMX优化联想到的

来源:互联网 发布:ddos防御软件 编辑:程序博客网 时间:2024/05/01 11:35

今天不知道怎么突然想到MMX了,想到MMX优化Alpha混合,虽然一直想好好看看研究研究但最经太忙了很难抽出多余的时间,但无意中确有了以下的想法
  1. int main()
  2. {
  3.     int i;
  4.     INT64 a, b;
  5.     char buf1[sizeof(INT64)];
  6.     char buf2[sizeof(INT64)];
  7.     for(i = 0; i < sizeof(INT64); i++)
  8.     {
  9.         buf1[i] = 'A' + i;
  10.         buf2[i] = 'a' + i;
  11.     }
  12.     memcpy(&a, buf1, sizeof(INT64));
  13.     memcpy(&a, buf2, sizeof(INT64));
  14.     a ^= b;
  15.     b ^= a;
  16.     a ^= b;
  17.     memcpy(buf1, &a, sizeof(INT64));
  18.     memcpy(buf2, &b, sizeof(INT64));
  19.     return 0;
  20. }

这样一个INT64做一次位运算就有sizeof(INT64)个BYTE做运算,具体效率没有测试,但起码代码节省了。