Refactor requantization in scalar QS8/QC8/QU8 microkernels

- Rename MAGIC variant to FMAGIC (floating-point min/max + magic bias) and
LRINT variant to LRINTF
- Avoid undefined behaviour in LRINT-variant microkernels
- Remove scalar microkernels with RNDNU requantization as they don't properly
handle requantization scale greater than 1.0

PiperOrigin-RevId: 419542667
diff --git a/BUILD.bazel b/BUILD.bazel
index 4bae2b1..a1ebb64 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -216,36 +216,36 @@
     "src/f32-vunary/gen/vabs-scalar-x4.c",
     "src/f32-vunary/gen/vneg-scalar-x4.c",
     "src/f32-vunary/gen/vsqr-scalar-x4.c",
-    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
+    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c",
     "src/qs8-f32-vcvt/gen/vcvt-scalar-x4.c",
     "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c1.c",
     "src/qs8-gavgpool/gen/7x-minmax-scalar-c1.c",
-    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
+    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
     "src/qs8-vadd/gen/minmax-scalar-x1.c",
     "src/qs8-vaddc/gen/minmax-scalar-x1.c",
     "src/qs8-vmul/gen/minmax-fp32-scalar-x4.c",
     "src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c",
     "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
     "src/qu8-avgpool/9x-minmax-scalar-c1.c",
-    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
+    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x4.c",
     "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
     "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
-    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
+    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
     "src/qu8-vadd/gen/minmax-scalar-x1.c",
     "src/qu8-vaddc/gen/minmax-scalar-x1.c",
     "src/qu8-vmul/gen/minmax-fp32-scalar-x4.c",
@@ -349,48 +349,48 @@
     "src/f32-vunary/gen/vabs-scalar-x4.c",
     "src/f32-vunary/gen/vneg-scalar-x4.c",
     "src/f32-vunary/gen/vsqr-scalar-x4.c",
-    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
+    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
     "src/qs8-f32-vcvt/gen/vcvt-scalar-x1.c",
     "src/qs8-gavgpool/gen/7p7x-minmax-scalar-c4.c",
     "src/qs8-gavgpool/gen/7x-minmax-scalar-c4.c",
-    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
+    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
     "src/qs8-vadd/gen/minmax-scalar-x4.c",
     "src/qs8-vaddc/gen/minmax-scalar-x4.c",
     "src/qs8-vmul/gen/minmax-fp32-scalar-x4.c",
     "src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c",
     "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
     "src/qu8-avgpool/9x-minmax-scalar-c1.c",
-    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
+    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x1.c",
     "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
     "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
-    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
+    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
     "src/qu8-vadd/gen/minmax-scalar-x4.c",
     "src/qu8-vaddc/gen/minmax-scalar-x4.c",
     "src/qu8-vmul/gen/minmax-fp32-scalar-x4.c",
@@ -826,62 +826,62 @@
     "src/math/sigmoid-scalar-rr2-lut2048-p1-div.c",
     "src/math/sigmoid-scalar-rr2-p5-div.c",
     "src/params-init.c",
-    "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
-    "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
-    "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
-    "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
-    "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
+    "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qc8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c",
     "src/qs8-f32-vcvt/gen/vcvt-scalar-x1.c",
     "src/qs8-f32-vcvt/gen/vcvt-scalar-x2.c",
     "src/qs8-f32-vcvt/gen/vcvt-scalar-x3.c",
@@ -892,56 +892,40 @@
     "src/qs8-gavgpool/gen/7x-minmax-scalar-c1.c",
     "src/qs8-gavgpool/gen/7x-minmax-scalar-c2.c",
     "src/qs8-gavgpool/gen/7x-minmax-scalar-c4.c",
-    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/1x2-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/1x4-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/2x2-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/2x4-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/3x2-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/3x4-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/4x2-minmax-rndnu-scalar.c",
-    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-gemm/gen/4x4-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/1x2-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/1x4-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/2x2-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/2x4-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/3x2-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/3x4-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/4x2-minmax-rndnu-scalar.c",
-    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qs8-igemm/gen/4x4-minmax-rndnu-scalar.c",
+    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qs8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
     "src/qs8-requantization/fp32-scalar-lrintf.c",
-    "src/qs8-requantization/fp32-scalar-magic.c",
+    "src/qs8-requantization/fp32-scalar-fmagic.c",
     "src/qs8-requantization/gemmlowp-scalar.c",
     "src/qs8-requantization/rndna-scalar-signed64.c",
     "src/qs8-requantization/rndna-scalar-unsigned32.c",
@@ -961,58 +945,58 @@
     "src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c",
     "src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
     "src/qu8-avgpool/9x-minmax-scalar-c1.c",
-    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-magic.c",
-    "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-lrint.c",
-    "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-magic.c",
+    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x1.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x2.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x3.c",
     "src/qu8-f32-vcvt/gen/vcvt-scalar-x4.c",
     "src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
     "src/qu8-gavgpool/7x-minmax-scalar-c1.c",
-    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-magic.c",
-    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-lrint.c",
-    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-magic.c",
+    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c",
+    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c",
+    "src/qu8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c",
     "src/qu8-requantization/fp32-scalar-lrintf.c",
-    "src/qu8-requantization/fp32-scalar-magic.c",
+    "src/qu8-requantization/fp32-scalar-fmagic.c",
     "src/qu8-requantization/gemmlowp-scalar.c",
     "src/qu8-requantization/rndna-scalar-signed64.c",
     "src/qu8-requantization/rndna-scalar-unsigned32.c",