\
__attribute__((optimize("unroll-loops"))) \
void thisFunctionInstanceName(const int16_t* __restrict__ table, int tableSizeMagnitude, int32_t amplitude, int32_t* __restrict__ outputBuffer, int32_t* bufferEnd, \
uint32_t phaseIncrement, uint32_t phase, bool applyAmplitude, uint32_t phaseToAdd, int32_t amplitudeIncrement) { \
\
int32_t* __restrict__ outputBufferPos = outputBuffer; \
SETUP_FOR_APPLYING_AMPLITUDE_WITH_VECTORS(); \
uint32_t phaseTemp = phase; \
\
do { \
int32x4_t valueVector; \
\
vectorValueFunctionName(); \
\
if (applyAmplitude) { \
int32x4_t existingDataInBuffer = vld1q_s32(outputBufferPos); \
valueVector = vqdmulhq_s32(amplitudeVector, valueVector); \
amplitudeVector = vaddq_s32(amplitudeVector, amplitudeIncrementVector); \
valueVector = vaddq_s32(valueVector, existingDataInBuffer); \
} \
\
vst1q_s32(outputBufferPos, valueVector); \
\
outputBufferPos += 4; \
} \
while (outputBufferPos < bufferEnd); \
};
__simd64_int16_t int16x4_t
Definition: LivePitchShifterPlayHead.h:23