Loop Unrolling

来源:互联网 发布:别墅装修设计软件 编辑:程序博客网 时间:2024/05/22 08:12
  1. void combine5(vec_ptr v, data_t* dest)  
  2. {  
  3.     long int i;  
  4.     long int length = vec_length(v);  
  5.     long int limit = length - 1;  
  6.     data_t* data = get_vec_start(v);  
  7.     data_t acc = IDENT;  
  8.   
  9.     for (i = 0; i < limit; i += 2)  
  10.     {  
  11.         acc = (acc OP data[i]) OP data[i+1];  
  12.     }  
  13.   
  14.     for (; i < length; ++i)  
  15.     {  
  16.         acc = acc OP data[i];  
  17.     }  
  18.   
  19.     *dest = acc; 

原创粉丝点击