我可以定義一個函數指針_mm_load_ps
,_mm_store_ps
之類?英特爾內部函數 - 函數指針加載/存儲
我在考慮類似
float* x0; //param
...
__m128 (*load_x0)(float const *mem);
if((unsigned long)x0 & 15) load_x0 = &_mm_loadu_ps;
else load_x0 = &_mm_load_ps;
但導致
未定義參考
_mm_load_ps
未定義參考
_mm_loadu_ps
有趣。所以我儘可能地使用對齊的負載,但需要爲額外的函數調用支付額外開銷。你認爲這會得到回報? – User1291
@ User1291不,它不會。除了幾個非常古老的微架構之外,在對齊和未對齊指令(在對齊數據上使用時)之間沒有區別。 – fuz
@ User1291只需使用未對齊的負載的一切,它會很好。基準,如果有疑問。 – fuz