q0
NEON では、SIMD レジスタ~は float レジスタ~q7
と共有されることがわかっています。したがって、以下のコードにはバグがあります。s0
s31
float_t fRatio = (float_t)srcWidth/dstWidth;
// NEON asm modified q0~q7
MyNeonFunctionPtr1(pData, Stride, (int32_t)(fHorRatio*m_iHorScale));
// following sentence use wrong "fHorRatio",
// which is modified by "MyNeonFunctionPtr1";
int32_t vertStepLuma = (int32_t)(fHorRatio*m_iVertScale);
x86 では、emms で解決できます。しかし、NEONでどうやってそれを行うのですか? 私の一時的な解決策はvolatile
onを使用することvertStepLuma
です。より良い方法はありますか?ありがとう!