Refactor AVGPOOL micro-kernel parameters
- Rename f32_avgpool_params to f32_scaleminmax_params
- Rename multiplier->scale, output_min->min, output_max->max
PiperOrigin-RevId: 305611410
diff --git a/src/average-pooling-nhwc.c b/src/average-pooling-nhwc.c
index cdd0d63..f508237 100644
--- a/src/average-pooling-nhwc.c
+++ b/src/average-pooling-nhwc.c
@@ -366,8 +366,8 @@
average_pooling_op->output_pixel_stride = output_pixel_stride;
average_pooling_op->type = xnn_operator_type_average_pooling_nhwc_f32;
- average_pooling_op->f32_avgpool_params =
- xnn_init_f32_avgpool_params(1.0f / (float) pooling_size, output_min, output_max);
+ average_pooling_op->f32_scaleminmax_params =
+ xnn_init_f32_scaleminmax_params(1.0f / (float) pooling_size, output_min, output_max);
const bool tf_same_padding = (flags & XNN_FLAG_TENSORFLOW_SAME_PADDING) != 0;
if (any_padding || tf_same_padding) {
average_pooling_op->f32_minmax_params =
@@ -602,7 +602,7 @@
.zero = average_pooling_op->zero_buffer,
.input_increment = (pooling_height * step_width - multipass_adjustment) * sizeof(void*),
.output_increment = output_width_stride - (channels << log2_output_element_size),
- .params.f32 = average_pooling_op->f32_avgpool_params,
+ .params.f32 = average_pooling_op->f32_scaleminmax_params,
};
memcpy(&average_pooling_op->context.average_pooling.params, params, params_size);
if (pooling_size <= mr) {
@@ -687,7 +687,7 @@
const bool is_pixelwise = average_pooling_op->ukernel.type == xnn_ukernel_type_pixelwise_average_pooling;
if (is_pixelwise) {
const size_t input_size = input_height * input_width;
- xnn_update_f32_avgpool_params(&average_pooling_op->f32_avgpool_params, 1.0f / (float) input_size);
+ xnn_update_f32_scaleminmax_params(&average_pooling_op->f32_scaleminmax_params, 1.0f / (float) input_size);
}
return setup_average_pooling2d(
@@ -699,10 +699,10 @@
&xnn_params.f32.avgpool,
&xnn_params.f32.pavgpool,
&xnn_params.f32.gavgpool,
- is_pixelwise ? (const void*) &average_pooling_op->f32_minmax_params : (const void*) &average_pooling_op->f32_avgpool_params,
- is_pixelwise ? sizeof(average_pooling_op->f32_minmax_params) : sizeof(average_pooling_op->f32_avgpool_params),
- &average_pooling_op->f32_avgpool_params,
- sizeof(average_pooling_op->f32_avgpool_params),
+ is_pixelwise ? (const void*) &average_pooling_op->f32_minmax_params : (const void*) &average_pooling_op->f32_scaleminmax_params,
+ is_pixelwise ? sizeof(average_pooling_op->f32_minmax_params) : sizeof(average_pooling_op->f32_scaleminmax_params),
+ &average_pooling_op->f32_scaleminmax_params,
+ sizeof(average_pooling_op->f32_scaleminmax_params),
pthreadpool_get_threads_count(threadpool),
is_pixelwise);
}
diff --git a/src/f32-avgpool/9p8x-neon-c4.c b/src/f32-avgpool/9p8x-neon-c4.c
index c972673..b4014a3 100644
--- a/src/f32-avgpool/9p8x-neon-c4.c
+++ b/src/f32-avgpool/9p8x-neon-c4.c
@@ -21,15 +21,15 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements > 9);
assert(channels != 0);
- const float32x4_t vmultiplier = vld1q_dup_f32(¶ms->scalar.multiplier);
- const float32x4_t voutput_min = vld1q_dup_f32(¶ms->scalar.output_min);
- const float32x4_t voutput_max = vld1q_dup_f32(¶ms->scalar.output_max);
+ const float32x4_t vscale = vld1q_dup_f32(¶ms->scalar.scale);
+ const float32x4_t vmin = vld1q_dup_f32(¶ms->scalar.min);
+ const float32x4_t vmax = vld1q_dup_f32(¶ms->scalar.max);
do {
{
@@ -259,9 +259,9 @@
const float32x4_t vsum0167a = vaddq_f32(vsum01a, vsum67);
const float32x4_t vsum = vaddq_f32(vsum2345, vsum0167a);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
vst1q_f32(output, vout); output += 4;
@@ -287,9 +287,9 @@
const float32x4_t vsum0167a = vaddq_f32(vsum01a, vsum67);
const float32x4_t vsum = vaddq_f32(vsum2345, vsum0167a);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
float32x2_t vout_lo = vget_low_f32(vout);
if (c & 2) {
diff --git a/src/f32-avgpool/9p8x-psimd-c4.c b/src/f32-avgpool/9p8x-psimd-c4.c
index f2a1df8..ea403b8 100644
--- a/src/f32-avgpool/9p8x-psimd-c4.c
+++ b/src/f32-avgpool/9p8x-psimd-c4.c
@@ -21,15 +21,15 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements > 9);
assert(channels != 0);
- const psimd_f32 vmultiplier = psimd_load_splat_f32(¶ms->scalar.multiplier);
- const psimd_f32 voutput_min = psimd_load_splat_f32(¶ms->scalar.output_min);
- const psimd_f32 voutput_max = psimd_load_splat_f32(¶ms->scalar.output_max);
+ const psimd_f32 vscale = psimd_load_splat_f32(¶ms->scalar.scale);
+ const psimd_f32 vmin = psimd_load_splat_f32(¶ms->scalar.min);
+ const psimd_f32 vmax = psimd_load_splat_f32(¶ms->scalar.max);
do {
{
@@ -286,9 +286,9 @@
const psimd_f32 vsum0167a = psimd_add_f32(vsum01a, vsum67);
const psimd_f32 vsum = psimd_add_f32(vsum2345, vsum0167a);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
psimd_store_f32(output, vout);
output += 4;
@@ -315,9 +315,9 @@
const psimd_f32 vsum0167a = psimd_add_f32(vsum01a, vsum67);
const psimd_f32 vsum = psimd_add_f32(vsum2345, vsum0167a);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
if (c & 2) {
psimd_store2_f32(output, vout);
diff --git a/src/f32-avgpool/9p8x-scalar-c1.c b/src/f32-avgpool/9p8x-scalar-c1.c
index 9fc8e9c..ca963d0 100644
--- a/src/f32-avgpool/9p8x-scalar-c1.c
+++ b/src/f32-avgpool/9p8x-scalar-c1.c
@@ -20,15 +20,15 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements > 9);
assert(channels != 0);
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
{
@@ -259,9 +259,9 @@
const float vsum0167a = vsum01a + vsum67;
const float vsum = vsum2345 + vsum0167a;
- float vout = vsum * vmultiplier;
- vout = math_max_f32(vout, voutput_min);
- vout = math_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = math_max_f32(vout, vmin);
+ vout = math_min_f32(vout, vmax);
*output++ = vout;
} while (--c != 0);
diff --git a/src/f32-avgpool/9p8x-sse-c4.c b/src/f32-avgpool/9p8x-sse-c4.c
index 0e18f4c..18be35d 100644
--- a/src/f32-avgpool/9p8x-sse-c4.c
+++ b/src/f32-avgpool/9p8x-sse-c4.c
@@ -21,15 +21,15 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements > 9);
assert(channels != 0);
- const __m128 vmultiplier = _mm_load_ps(params->sse2.multiplier);
- const __m128 voutput_min = _mm_load_ps(params->sse2.output_min);
- const __m128 voutput_max = _mm_load_ps(params->sse2.output_max);
+ const __m128 vscale = _mm_load_ps(params->sse2.scale);
+ const __m128 vmin = _mm_load_ps(params->sse2.min);
+ const __m128 vmax = _mm_load_ps(params->sse2.max);
do {
{
@@ -284,9 +284,9 @@
const __m128 vsum0167a = _mm_add_ps(vsum01a, vsum67);
const __m128 vsum = _mm_add_ps(vsum2345, vsum0167a);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
_mm_storeu_ps(output, vout);
output += 4;
@@ -313,9 +313,9 @@
const __m128 vsum0167a = _mm_add_ps(vsum01a, vsum67);
const __m128 vsum = _mm_add_ps(vsum2345, vsum0167a);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
if (c & 2) {
_mm_storel_pi((__m64*) output, vout);
diff --git a/src/f32-avgpool/9p8x-wasm-c1.c b/src/f32-avgpool/9p8x-wasm-c1.c
index e4272ce..1e26ec1 100644
--- a/src/f32-avgpool/9p8x-wasm-c1.c
+++ b/src/f32-avgpool/9p8x-wasm-c1.c
@@ -20,15 +20,15 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements > 9);
assert(channels != 0);
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
{
@@ -259,9 +259,9 @@
const float vsum0167a = vsum01a + vsum67;
const float vsum = vsum2345 + vsum0167a;
- float vout = vsum * vmultiplier;
- vout = __builtin_wasm_max_f32(vout, voutput_min);
- vout = __builtin_wasm_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = __builtin_wasm_max_f32(vout, vmin);
+ vout = __builtin_wasm_min_f32(vout, vmax);
*output++ = vout;
} while (--c != 0);
diff --git a/src/f32-avgpool/9x-neon-c4.c b/src/f32-avgpool/9x-neon-c4.c
index 66b1dab..7e7d653 100644
--- a/src/f32-avgpool/9x-neon-c4.c
+++ b/src/f32-avgpool/9x-neon-c4.c
@@ -20,16 +20,16 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements != 0);
assert(kernel_elements <= 9);
assert(channels != 0);
- const float32x4_t vmultiplier = vld1q_dup_f32(¶ms->scalar.multiplier);
- const float32x4_t voutput_min = vld1q_dup_f32(¶ms->scalar.output_min);
- const float32x4_t voutput_max = vld1q_dup_f32(¶ms->scalar.output_max);
+ const float32x4_t vscale = vld1q_dup_f32(¶ms->scalar.scale);
+ const float32x4_t vmin = vld1q_dup_f32(¶ms->scalar.min);
+ const float32x4_t vmax = vld1q_dup_f32(¶ms->scalar.max);
do {
const float* i0 = input[0];
@@ -124,9 +124,9 @@
const float32x4_t vsum01678 = vaddq_f32(vsum018, vsum67);
const float32x4_t vsum = vaddq_f32(vsum2345, vsum01678);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
vst1q_f32(output, vout); output += 4;
@@ -152,9 +152,9 @@
const float32x4_t vsum01678 = vaddq_f32(vsum018, vsum67);
const float32x4_t vsum = vaddq_f32(vsum2345, vsum01678);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
float32x2_t vout_lo = vget_low_f32(vout);
if (c & 2) {
diff --git a/src/f32-avgpool/9x-psimd-c4.c b/src/f32-avgpool/9x-psimd-c4.c
index 0fb294f..8b80149 100644
--- a/src/f32-avgpool/9x-psimd-c4.c
+++ b/src/f32-avgpool/9x-psimd-c4.c
@@ -20,16 +20,16 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements != 0);
assert(kernel_elements <= 9);
assert(channels != 0);
- const psimd_f32 vmultiplier = psimd_load_splat_f32(¶ms->scalar.multiplier);
- const psimd_f32 voutput_min = psimd_load_splat_f32(¶ms->scalar.output_min);
- const psimd_f32 voutput_max = psimd_load_splat_f32(¶ms->scalar.output_max);
+ const psimd_f32 vscale = psimd_load_splat_f32(¶ms->scalar.scale);
+ const psimd_f32 vmin = psimd_load_splat_f32(¶ms->scalar.min);
+ const psimd_f32 vmax = psimd_load_splat_f32(¶ms->scalar.max);
do {
const float* i0 = input[0];
@@ -133,9 +133,9 @@
const psimd_f32 vsum01678 = psimd_add_f32(vsum018, vsum67);
const psimd_f32 vsum = psimd_add_f32(vsum2345, vsum01678);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
psimd_store_f32(output, vout);
output += 4;
@@ -162,9 +162,9 @@
const psimd_f32 vsum01678 = psimd_add_f32(vsum018, vsum67);
const psimd_f32 vsum = psimd_add_f32(vsum2345, vsum01678);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
if (c & 2) {
psimd_store2_f32(output, vout);
diff --git a/src/f32-avgpool/9x-scalar-c1.c b/src/f32-avgpool/9x-scalar-c1.c
index 96cc745..b725f3a 100644
--- a/src/f32-avgpool/9x-scalar-c1.c
+++ b/src/f32-avgpool/9x-scalar-c1.c
@@ -19,16 +19,16 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements != 0);
assert(kernel_elements <= 9);
assert(channels != 0);
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
const float* i0 = input[0];
@@ -123,9 +123,9 @@
const float vsum01678 = vsum018 + vsum67;
const float vsum = vsum2345 + vsum01678;
- float vout = vsum * vmultiplier;
- vout = math_max_f32(vout, voutput_min);
- vout = math_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = math_max_f32(vout, vmin);
+ vout = math_min_f32(vout, vmax);
*output++ = vout;
} while (--c != 0);
diff --git a/src/f32-avgpool/9x-sse-c4.c b/src/f32-avgpool/9x-sse-c4.c
index e37fd0a..f66ebee 100644
--- a/src/f32-avgpool/9x-sse-c4.c
+++ b/src/f32-avgpool/9x-sse-c4.c
@@ -20,16 +20,16 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements != 0);
assert(kernel_elements <= 9);
assert(channels != 0);
- const __m128 vmultiplier = _mm_load_ps(params->sse2.multiplier);
- const __m128 voutput_min = _mm_load_ps(params->sse2.output_min);
- const __m128 voutput_max = _mm_load_ps(params->sse2.output_max);
+ const __m128 vscale = _mm_load_ps(params->sse2.scale);
+ const __m128 vmin = _mm_load_ps(params->sse2.min);
+ const __m128 vmax = _mm_load_ps(params->sse2.max);
do {
const float* i0 = input[0];
@@ -133,9 +133,9 @@
const __m128 vsum01678 = _mm_add_ps(vsum018, vsum67);
const __m128 vsum = _mm_add_ps(vsum2345, vsum01678);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
_mm_storeu_ps(output, vout); output += 4;
@@ -161,9 +161,9 @@
const __m128 vsum01678 = _mm_add_ps(vsum018, vsum67);
const __m128 vsum = _mm_add_ps(vsum2345, vsum01678);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
if (c & 2) {
_mm_storel_pi((__m64*) output, vout);
diff --git a/src/f32-avgpool/9x-wasm-c1.c b/src/f32-avgpool/9x-wasm-c1.c
index 7d598ce..693da72 100644
--- a/src/f32-avgpool/9x-wasm-c1.c
+++ b/src/f32-avgpool/9x-wasm-c1.c
@@ -19,16 +19,16 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(output_pixels != 0);
assert(kernel_elements != 0);
assert(kernel_elements <= 9);
assert(channels != 0);
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
const float* i0 = input[0];
@@ -123,9 +123,9 @@
const float vsum01678 = vsum018 + vsum67;
const float vsum = vsum2345 + vsum01678;
- float vout = vsum * vmultiplier;
- vout = __builtin_wasm_max_f32(vout, voutput_min);
- vout = __builtin_wasm_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = __builtin_wasm_max_f32(vout, vmin);
+ vout = __builtin_wasm_min_f32(vout, vmax);
*output++ = vout;
} while (--c != 0);
diff --git a/src/f32-gavgpool/7p7x-neon-c4.c b/src/f32-gavgpool/7p7x-neon-c4.c
index 44f57e8..576b7d1 100644
--- a/src/f32-gavgpool/7p7x-neon-c4.c
+++ b/src/f32-gavgpool/7p7x-neon-c4.c
@@ -19,7 +19,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows > 7);
assert(channels != 0);
@@ -115,9 +115,9 @@
if (rows <= 6) {
i6 = zero;
}
- const float32x4_t vmultiplier = vld1q_dup_f32(¶ms->scalar.multiplier);
- const float32x4_t voutput_min = vld1q_dup_f32(¶ms->scalar.output_min);
- const float32x4_t voutput_max = vld1q_dup_f32(¶ms->scalar.output_max);
+ const float32x4_t vscale = vld1q_dup_f32(¶ms->scalar.scale);
+ const float32x4_t vmin = vld1q_dup_f32(¶ms->scalar.min);
+ const float32x4_t vmax = vld1q_dup_f32(¶ms->scalar.max);
b = buffer;
while (channels >= 4) {
@@ -140,9 +140,9 @@
const float32x4_t vsum = vaddq_f32(vsum0123, vsum456a);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
vst1q_f32(output, vout); output += 4;
@@ -168,9 +168,9 @@
const float32x4_t vsum = vaddq_f32(vsum0123, vsum456a);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
float32x2_t vout_lo = vget_low_f32(vout);
if (channels & 2) {
diff --git a/src/f32-gavgpool/7p7x-psimd-c4.c b/src/f32-gavgpool/7p7x-psimd-c4.c
index dac3d95..ce7907c 100644
--- a/src/f32-gavgpool/7p7x-psimd-c4.c
+++ b/src/f32-gavgpool/7p7x-psimd-c4.c
@@ -19,7 +19,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows > 7);
assert(channels != 0);
@@ -129,9 +129,9 @@
if (rows <= 6) {
i6 = zero;
}
- const psimd_f32 vmultiplier = psimd_load_splat_f32(¶ms->scalar.multiplier);
- const psimd_f32 voutput_min = psimd_load_splat_f32(¶ms->scalar.output_min);
- const psimd_f32 voutput_max = psimd_load_splat_f32(¶ms->scalar.output_max);
+ const psimd_f32 vscale = psimd_load_splat_f32(¶ms->scalar.scale);
+ const psimd_f32 vmin = psimd_load_splat_f32(¶ms->scalar.min);
+ const psimd_f32 vmax = psimd_load_splat_f32(¶ms->scalar.max);
b = buffer;
while (channels >= 4) {
@@ -162,9 +162,9 @@
const psimd_f32 vsum = psimd_add_f32(vsum0123, vsum456a);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
psimd_store_f32(output, vout);
output += 4;
@@ -191,9 +191,9 @@
const psimd_f32 vsum = psimd_add_f32(vsum0123, vsum456a);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
if (channels & 2) {
psimd_store2_f32(output, vout);
diff --git a/src/f32-gavgpool/7p7x-scalar-c1.c b/src/f32-gavgpool/7p7x-scalar-c1.c
index dd9ff99..1976e23 100644
--- a/src/f32-gavgpool/7p7x-scalar-c1.c
+++ b/src/f32-gavgpool/7p7x-scalar-c1.c
@@ -17,7 +17,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows > 7);
assert(channels != 0);
@@ -114,9 +114,9 @@
if (rows <= 6) {
i6 = zero;
}
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
b = buffer;
do {
@@ -139,9 +139,9 @@
const float vsum = vsum0123 + vsum456a;
- float vout = vsum * vmultiplier;
- vout = math_max_f32(vout, voutput_min);
- vout = math_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = math_max_f32(vout, vmin);
+ vout = math_min_f32(vout, vmax);
*output++ = vout;
} while (--channels != 0);
diff --git a/src/f32-gavgpool/7p7x-sse-c4.c b/src/f32-gavgpool/7p7x-sse-c4.c
index b8cdb14..101c55f 100644
--- a/src/f32-gavgpool/7p7x-sse-c4.c
+++ b/src/f32-gavgpool/7p7x-sse-c4.c
@@ -19,7 +19,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows > 7);
assert(channels != 0);
@@ -129,9 +129,9 @@
if (rows <= 6) {
i6 = zero;
}
- const __m128 vmultiplier = _mm_load_ps(params->sse2.multiplier);
- const __m128 voutput_min = _mm_load_ps(params->sse2.output_min);
- const __m128 voutput_max = _mm_load_ps(params->sse2.output_max);
+ const __m128 vscale = _mm_load_ps(params->sse2.scale);
+ const __m128 vmin = _mm_load_ps(params->sse2.min);
+ const __m128 vmax = _mm_load_ps(params->sse2.max);
b = buffer;
while (channels >= 4) {
@@ -162,9 +162,9 @@
const __m128 vsum = _mm_add_ps(vsum0123, vsum456a);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
_mm_storeu_ps(output, vout);
output += 4;
@@ -191,9 +191,9 @@
const __m128 vsum = _mm_add_ps(vsum0123, vsum456a);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
if (channels & 2) {
_mm_storel_pi((__m64*) output, vout);
diff --git a/src/f32-gavgpool/7p7x-wasm-c1.c b/src/f32-gavgpool/7p7x-wasm-c1.c
index 1aa3922..58e4290 100644
--- a/src/f32-gavgpool/7p7x-wasm-c1.c
+++ b/src/f32-gavgpool/7p7x-wasm-c1.c
@@ -17,7 +17,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows > 7);
assert(channels != 0);
@@ -114,9 +114,9 @@
if (rows <= 6) {
i6 = zero;
}
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
b = buffer;
do {
@@ -139,9 +139,9 @@
const float vsum = vsum0123 + vsum456a;
- float vout = vsum * vmultiplier;
- vout = __builtin_wasm_max_f32(vout, voutput_min);
- vout = __builtin_wasm_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = __builtin_wasm_max_f32(vout, vmin);
+ vout = __builtin_wasm_min_f32(vout, vmax);
*output++ = vout;
} while (--channels != 0);
diff --git a/src/f32-gavgpool/7x-neon-c4.c b/src/f32-gavgpool/7x-neon-c4.c
index a957978..ba24cb0 100644
--- a/src/f32-gavgpool/7x-neon-c4.c
+++ b/src/f32-gavgpool/7x-neon-c4.c
@@ -17,7 +17,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows != 0);
assert(rows <= 7);
@@ -48,9 +48,9 @@
if (rows <= 6) {
i6 = zero;
}
- const float32x4_t vmultiplier = vld1q_dup_f32(¶ms->scalar.multiplier);
- const float32x4_t voutput_min = vld1q_dup_f32(¶ms->scalar.output_min);
- const float32x4_t voutput_max = vld1q_dup_f32(¶ms->scalar.output_max);
+ const float32x4_t vscale = vld1q_dup_f32(¶ms->scalar.scale);
+ const float32x4_t vmin = vld1q_dup_f32(¶ms->scalar.min);
+ const float32x4_t vmax = vld1q_dup_f32(¶ms->scalar.max);
while (channels >= 4) {
const float32x4_t vi0 = vld1q_f32(i0); i0 += 4;
@@ -70,9 +70,9 @@
const float32x4_t vsum = vaddq_f32(vsum016, vsum2345);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
vst1q_f32(output, vout); output += 4;
@@ -96,9 +96,9 @@
const float32x4_t vsum = vaddq_f32(vsum016, vsum2345);
- float32x4_t vout = vmulq_f32(vsum, vmultiplier);
- vout = vmaxq_f32(vout, voutput_min);
- vout = vminq_f32(vout, voutput_max);
+ float32x4_t vout = vmulq_f32(vsum, vscale);
+ vout = vmaxq_f32(vout, vmin);
+ vout = vminq_f32(vout, vmax);
float32x2_t vout_lo = vget_low_f32(vout);
if (channels & 2) {
diff --git a/src/f32-gavgpool/7x-psimd-c4.c b/src/f32-gavgpool/7x-psimd-c4.c
index c9aa52a..f273840 100644
--- a/src/f32-gavgpool/7x-psimd-c4.c
+++ b/src/f32-gavgpool/7x-psimd-c4.c
@@ -17,7 +17,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows != 0);
assert(rows <= 7);
@@ -48,9 +48,9 @@
if (rows <= 6) {
i6 = zero;
}
- const psimd_f32 vmultiplier = psimd_load_splat_f32(¶ms->scalar.multiplier);
- const psimd_f32 voutput_min = psimd_load_splat_f32(¶ms->scalar.output_min);
- const psimd_f32 voutput_max = psimd_load_splat_f32(¶ms->scalar.output_max);
+ const psimd_f32 vscale = psimd_load_splat_f32(¶ms->scalar.scale);
+ const psimd_f32 vmin = psimd_load_splat_f32(¶ms->scalar.min);
+ const psimd_f32 vmax = psimd_load_splat_f32(¶ms->scalar.max);
while (channels >= 4) {
const psimd_f32 vi0 = psimd_load_f32(i0);
@@ -77,9 +77,9 @@
const psimd_f32 vsum = psimd_add_f32(vsum016, vsum2345);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
psimd_store_f32(output, vout);
output += 4;
@@ -104,9 +104,9 @@
const psimd_f32 vsum = psimd_add_f32(vsum016, vsum2345);
- psimd_f32 vout = psimd_mul_f32(vsum, vmultiplier);
- vout = psimd_max_f32(vout, voutput_min);
- vout = psimd_min_f32(vout, voutput_max);
+ psimd_f32 vout = psimd_mul_f32(vsum, vscale);
+ vout = psimd_max_f32(vout, vmin);
+ vout = psimd_min_f32(vout, vmax);
if (channels & 2) {
psimd_store2_f32(output, vout);
diff --git a/src/f32-gavgpool/7x-scalar-c1.c b/src/f32-gavgpool/7x-scalar-c1.c
index 24ab555..8c4f761 100644
--- a/src/f32-gavgpool/7x-scalar-c1.c
+++ b/src/f32-gavgpool/7x-scalar-c1.c
@@ -16,7 +16,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows != 0);
assert(rows <= 7);
@@ -48,9 +48,9 @@
i6 = zero;
}
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
const float vi0 = *i0++;
const float vi1 = *i1++;
@@ -69,9 +69,9 @@
const float vsum = vsum016 + vsum2345;
- float vout = vsum * vmultiplier;
- vout = math_max_f32(vout, voutput_min);
- vout = math_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = math_max_f32(vout, vmin);
+ vout = math_min_f32(vout, vmax);
*output++ = vout;
} while (--channels != 0);
diff --git a/src/f32-gavgpool/7x-sse-c4.c b/src/f32-gavgpool/7x-sse-c4.c
index 712e8c4..cf240b5 100644
--- a/src/f32-gavgpool/7x-sse-c4.c
+++ b/src/f32-gavgpool/7x-sse-c4.c
@@ -17,7 +17,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows != 0);
assert(rows <= 7);
@@ -48,9 +48,9 @@
if (rows <= 6) {
i6 = zero;
}
- const __m128 vmultiplier = _mm_load_ps(params->sse2.multiplier);
- const __m128 voutput_min = _mm_load_ps(params->sse2.output_min);
- const __m128 voutput_max = _mm_load_ps(params->sse2.output_max);
+ const __m128 vscale = _mm_load_ps(params->sse2.scale);
+ const __m128 vmin = _mm_load_ps(params->sse2.min);
+ const __m128 vmax = _mm_load_ps(params->sse2.max);
while (channels >= 4) {
const __m128 vi0 = _mm_loadu_ps(i0);
@@ -77,9 +77,9 @@
const __m128 vsum = _mm_add_ps(vsum016, vsum2345);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
_mm_storeu_ps(output, vout);
output += 4;
@@ -104,9 +104,9 @@
const __m128 vsum = _mm_add_ps(vsum016, vsum2345);
- __m128 vout = _mm_mul_ps(vsum, vmultiplier);
- vout = _mm_max_ps(vout, voutput_min);
- vout = _mm_min_ps(vout, voutput_max);
+ __m128 vout = _mm_mul_ps(vsum, vscale);
+ vout = _mm_max_ps(vout, vmin);
+ vout = _mm_min_ps(vout, vmax);
if (channels & 2) {
_mm_storel_pi((__m64*) output, vout);
diff --git a/src/f32-gavgpool/7x-wasm-c1.c b/src/f32-gavgpool/7x-wasm-c1.c
index 39a9d9b..1564b77 100644
--- a/src/f32-gavgpool/7x-wasm-c1.c
+++ b/src/f32-gavgpool/7x-wasm-c1.c
@@ -16,7 +16,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params params[restrict static 1])
+ const union xnn_f32_scaleminmax_params params[restrict static 1])
{
assert(rows != 0);
assert(rows <= 7);
@@ -48,9 +48,9 @@
i6 = zero;
}
- const float vmultiplier = params->scalar.multiplier;
- const float voutput_min = params->scalar.output_min;
- const float voutput_max = params->scalar.output_max;
+ const float vscale = params->scalar.scale;
+ const float vmin = params->scalar.min;
+ const float vmax = params->scalar.max;
do {
const float vi0 = *i0++;
const float vi1 = *i1++;
@@ -69,9 +69,9 @@
const float vsum = vsum016 + vsum2345;
- float vout = vsum * vmultiplier;
- vout = __builtin_wasm_max_f32(vout, voutput_min);
- vout = __builtin_wasm_min_f32(vout, voutput_max);
+ float vout = vsum * vscale;
+ vout = __builtin_wasm_max_f32(vout, vmin);
+ vout = __builtin_wasm_min_f32(vout, vmax);
*output++ = vout;
} while (--channels != 0);
diff --git a/src/global-average-pooling-nwc.c b/src/global-average-pooling-nwc.c
index 5f757ab..993a5f6 100644
--- a/src/global-average-pooling-nwc.c
+++ b/src/global-average-pooling-nwc.c
@@ -221,7 +221,7 @@
global_average_pooling_op->channels = channels;
global_average_pooling_op->input_pixel_stride = input_stride;
global_average_pooling_op->output_pixel_stride = output_stride;
- global_average_pooling_op->f32_avgpool_params = xnn_init_f32_avgpool_params(nanf(""), output_min, output_max);
+ global_average_pooling_op->f32_scaleminmax_params = xnn_init_f32_scaleminmax_params(nanf(""), output_min, output_max);
global_average_pooling_op->type = xnn_operator_type_global_average_pooling_nwc_f32;
global_average_pooling_op->ukernel.type = xnn_ukernel_type_global_average_pooling;
@@ -340,7 +340,7 @@
global_average_pooling_op->input = input;
global_average_pooling_op->output = output;
- xnn_update_f32_avgpool_params(&global_average_pooling_op->f32_avgpool_params, 1.0f / (float) width);
+ xnn_update_f32_scaleminmax_params(&global_average_pooling_op->f32_scaleminmax_params, 1.0f / (float) width);
const size_t input_stride_in_bytes = global_average_pooling_op->input_pixel_stride * sizeof(float);
const size_t channels = global_average_pooling_op->channels;
@@ -353,7 +353,7 @@
.channels = channels,
.output = output,
.output_batch_stride = global_average_pooling_op->output_pixel_stride * sizeof(float),
- .params.f32 = global_average_pooling_op->f32_avgpool_params,
+ .params.f32 = global_average_pooling_op->f32_scaleminmax_params,
};
global_average_pooling_op->compute.type = xnn_parallelization_type_1d;
global_average_pooling_op->compute.range[0] = batch_size;
diff --git a/src/xnnpack/avgpool.h b/src/xnnpack/avgpool.h
index d1a1e87..4ef2b7f 100644
--- a/src/xnnpack/avgpool.h
+++ b/src/xnnpack/avgpool.h
@@ -31,7 +31,7 @@
float* output, \
size_t input_increment, \
size_t output_increment, \
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
DECLARE_F32_AVGPOOL_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_avgpool_ukernel_9p8x__neon_c4)
DECLARE_F32_AVGPOOL_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_avgpool_ukernel_9p8x__sse_c4)
@@ -51,7 +51,7 @@
float* output, \
size_t input_increment, \
size_t output_increment, \
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
DECLARE_F32_AVGPOOL_UNIPASS_UKERNEL_FUNCTION(xnn_f32_avgpool_ukernel_9x__neon_c4)
DECLARE_F32_AVGPOOL_UNIPASS_UKERNEL_FUNCTION(xnn_f32_avgpool_ukernel_9x__sse_c4)
diff --git a/src/xnnpack/compute.h b/src/xnnpack/compute.h
index ad0747f..45586fb 100644
--- a/src/xnnpack/compute.h
+++ b/src/xnnpack/compute.h
@@ -488,7 +488,7 @@
size_t output_increment;
union {
union xnn_q8_avgpool_params q8;
- union xnn_f32_avgpool_params f32;
+ union xnn_f32_scaleminmax_params f32;
} params;
union {
xnn_avgpool_up_ukernel_function unipass_ukernel;
@@ -557,7 +557,7 @@
size_t output_batch_stride;
union {
union xnn_q8_avgpool_params q8;
- union xnn_f32_avgpool_params f32;
+ union xnn_f32_scaleminmax_params f32;
} params;
union {
xnn_gavgpool_up_ukernel_function unipass_ukernel;
diff --git a/src/xnnpack/gavgpool.h b/src/xnnpack/gavgpool.h
index e50d7bb..2520d43 100644
--- a/src/xnnpack/gavgpool.h
+++ b/src/xnnpack/gavgpool.h
@@ -28,7 +28,7 @@
const float* zero, \
float* buffer, \
float* output, \
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
DECLARE_F32_GAVGPOOL_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_gavgpool_ukernel_7p7x__neon_c4)
DECLARE_F32_GAVGPOOL_MULTIPASS_UKERNEL_FUNCTION(xnn_f32_gavgpool_ukernel_7p7x__sse_c4)
@@ -45,7 +45,7 @@
size_t input_stride, \
const float* zero, \
float* output, \
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
DECLARE_F32_GAVGPOOL_UNIPASS_UKERNEL_FUNCTION(xnn_f32_gavgpool_ukernel_7x__neon_c4)
DECLARE_F32_GAVGPOOL_UNIPASS_UKERNEL_FUNCTION(xnn_f32_gavgpool_ukernel_7x__sse_c4)
diff --git a/src/xnnpack/operator.h b/src/xnnpack/operator.h
index 15f8efd..3ca786a 100644
--- a/src/xnnpack/operator.h
+++ b/src/xnnpack/operator.h
@@ -243,10 +243,10 @@
// Parameters for Global Average Pooling in CHW layout
union xnn_f32_gavgpool_params f32_gavgpool_params;
union xnn_f32_hswish_params f32_hswish_params;
- // Pixelwise Average Pooling normally use f32_minmax_params, but also initialize f32_avgpool_params in case it needs
- // to switch to Global Average Pooling operation.
+ // Pixelwise Average Pooling normally use f32_minmax_params, but also initialize
+ // f32_scaleminmax_params in case it needs to switch to Global Average Pooling operation.
struct {
- union xnn_f32_avgpool_params f32_avgpool_params;
+ union xnn_f32_scaleminmax_params f32_scaleminmax_params;
union xnn_f32_minmax_params f32_minmax_params;
};
union xnn_f32_spchw_params f32_spchw_params;
diff --git a/src/xnnpack/params-init.h b/src/xnnpack/params-init.h
index e4086c5..0601618 100644
--- a/src/xnnpack/params-init.h
+++ b/src/xnnpack/params-init.h
@@ -248,35 +248,35 @@
return params;
}
-static inline void xnn_update_f32_avgpool_params(
- union xnn_f32_avgpool_params* params,
- float multiplier)
+static inline void xnn_update_f32_scaleminmax_params(
+ union xnn_f32_scaleminmax_params* params,
+ float scale)
{
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
for (uint32_t i = 0; i < 4; i++) {
- params->sse2.multiplier[i] = multiplier;
+ params->sse2.scale[i] = scale;
}
#else
- params->scalar.multiplier = multiplier;
+ params->scalar.scale = scale;
#endif
}
-static inline union xnn_f32_avgpool_params xnn_init_f32_avgpool_params(
- float multiplier,
- float output_min,
- float output_max)
+static inline union xnn_f32_scaleminmax_params xnn_init_f32_scaleminmax_params(
+ float scale,
+ float min,
+ float max)
{
- union xnn_f32_avgpool_params params;
+ union xnn_f32_scaleminmax_params params;
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
for (uint32_t i = 0; i < 4; i++) {
- params.sse2.multiplier[i] = multiplier;
- params.sse2.output_min[i] = output_min;
- params.sse2.output_max[i] = output_max;
+ params.sse2.scale[i] = scale;
+ params.sse2.min[i] = min;
+ params.sse2.max[i] = max;
}
#else
- params.scalar.multiplier = multiplier;
- params.scalar.output_min = output_min;
- params.scalar.output_max = output_max;
+ params.scalar.scale = scale;
+ params.scalar.min = min;
+ params.scalar.max = max;
#endif
return params;
}
@@ -346,15 +346,15 @@
#endif
}
-static inline union xnn_f32_avgpool_params xnn_init_scalar_f32_avgpool_params(
- float multiplier,
- float output_min,
- float output_max)
+static inline union xnn_f32_scaleminmax_params xnn_init_scalar_f32_scaleminmax_params(
+ float scale,
+ float min,
+ float max)
{
- union xnn_f32_avgpool_params params;
- params.scalar.multiplier = multiplier;
- params.scalar.output_min = output_min;
- params.scalar.output_max = output_max;
+ union xnn_f32_scaleminmax_params params;
+ params.scalar.scale = scale;
+ params.scalar.min = min;
+ params.scalar.max = max;
return params;
}
diff --git a/src/xnnpack/params.h b/src/xnnpack/params.h
index 609b8a8..5ee1652 100644
--- a/src/xnnpack/params.h
+++ b/src/xnnpack/params.h
@@ -78,26 +78,19 @@
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
};
-union xnn_f32_avgpool_params {
+union xnn_f32_scaleminmax_params {
struct {
- float multiplier;
- float output_min;
- float output_max;
+ float scale;
+ float min;
+ float max;
} scalar;
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
struct {
- XNN_ALIGN(16) float multiplier[4];
- XNN_ALIGN(16) float output_min[4];
- XNN_ALIGN(16) float output_max[4];
+ XNN_ALIGN(16) float scale[4];
+ XNN_ALIGN(16) float min[4];
+ XNN_ALIGN(16) float max[4];
} sse2;
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
-#if XNN_ARCH_ARM || XNN_ARCH_ARM64
- struct {
- XNN_ALIGN(16) float multiplier;
- XNN_ALIGN(16) float output_min;
- XNN_ALIGN(16) float output_max;
- } neon;
-#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
};
union xnn_f32_gavgpool_params {
@@ -761,7 +754,7 @@
size_t input_stride,
const float* zero,
float* output,
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
typedef void (*xnn_q8_gavgpool_up_ukernel_function)(
size_t rows,
@@ -790,7 +783,7 @@
const float* zero,
float* buffer,
float* output,
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
typedef void (*xnn_q8_gavgpool_mp_ukernel_function)(
size_t rows,
@@ -838,7 +831,7 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
typedef void (*xnn_q8_avgpool_up_ukernel_function)(
size_t output_pixels,
@@ -876,7 +869,7 @@
float* output,
size_t input_increment,
size_t output_increment,
- const union xnn_f32_avgpool_params* params);
+ const union xnn_f32_scaleminmax_params* params);
typedef void (*xnn_q8_avgpool_mp_ukernel_function)(
size_t output_pixels,