QS8 variant of NWC Global Average Pooling operator
PiperOrigin-RevId: 325402397
diff --git a/src/xnnpack/operator.h b/src/xnnpack/operator.h
index 5562fc9..919a37a 100644
--- a/src/xnnpack/operator.h
+++ b/src/xnnpack/operator.h
@@ -71,6 +71,7 @@
xnn_operator_type_floor_nc_f32,
xnn_operator_type_global_average_pooling_nwc_f16,
xnn_operator_type_global_average_pooling_nwc_f32,
+ xnn_operator_type_global_average_pooling_nwc_qs8,
xnn_operator_type_global_average_pooling_nwc_qu8,
xnn_operator_type_global_average_pooling_ncw_f32,
xnn_operator_type_hardswish_nc_f32,
@@ -281,6 +282,12 @@
};
union xnn_f32_chw_params f32_chw;
union xnn_qs8_gemm_params qs8_gemm;
+ // Average Pooling normally use qs8_avgpool_params, but also initialize qs8_gavgpool_params in case it needs to switch
+ // to Global Average Pooling operation.
+ struct {
+ union xnn_qs8_avgpool_params qs8_avgpool;
+ union xnn_qs8_avgpool_params qs8_gavgpool;
+ };
union xnn_qu8_add_params qu8_add;
union xnn_qu8_gemm_params qu8_gemm;
// Average Pooling normally use qu8_avgpool_params, but also initialize qu8_gavgpool_params in case it needs to switch