diff --git a/ReadMe.md b/ReadMe.md index 310b3a8..6997359 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -618,9 +618,9 @@ typedef Stack StackFloat; ``` Int8,16: N/A -Int32 : VInt32Mul(int32 * 4, int32 * 4) -Int64 : VInt64Mul(int64 * 2, int64 * 2) -Float : VInt64Mul(float * 2, float * 2) +Int32 : VInt32Mul(int32x4, int32x4) +Int64 : VInt64Mul(int64x4, int64x4) +Float : VInt64Mul(floatx2, floatx2) ``` 所以对于Int8和Int16,我们需要提升到Int32,而Int32和Int64,各自使用自己的指令。所以我们需要实现下的逻辑: @@ -641,10 +641,10 @@ for(v4a, v4b : vectorsA, vectorsB) 嗯,聪明你果然想到了,重载也可以解决这个问题。 ``` C++ -GenericMul(int8 * 4, int8 * 4); -GenericMul(int16 * 4, int16 * 4); -GenericMul(int32 * 4, int32 * 4); -GenericMul(int64 * 4, int64 * 4); +GenericMul(int8x4, int8x4); +GenericMul(int16x4, int16x4); +GenericMul(int32x4, int32x4); +GenericMul(int64x4, int64x4); // 其它 Generic Mul ... for(v4a, v4b : vectorsA, vectorsB)