问题我想做的是,如果我有一个27(不是32!)的vectorint8_t:x={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26}我想首先将它向右循环移位n(不是常数),例如如果n=1:x2={26,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}然后这个vector被用来做一些非常复杂的计算,但是为了简单起见,我们假设下一步只是将它循环左移n,然后存入内存。所以我应该有一个新的vector27int8_t:
英特尔提供了一个名为_mm256_madd_epi16的C样式函数,该函数基本上__m256i_mm256_madd_epi16(__m256ia,__m256ib)Multiplypackedsigned16-bitintegersinaandb,producingintermediatesigned32-bitintegers.Horizontallyaddadjacentpairsofintermediate32-bitintegers,andpacktheresultsindst.现在,我有两个__m256i变量,每个变量中都有32个8位int。我想实现与_mm256_madd