diff --git a/larq_compute_engine/core/bgemm_kernels_arm32.h b/larq_compute_engine/core/bgemm_kernels_arm32.h index 9cabb3c5a..144bd29fe 100644 --- a/larq_compute_engine/core/bgemm_kernels_arm32.h +++ b/larq_compute_engine/core/bgemm_kernels_arm32.h @@ -85,7 +85,7 @@ void CheckOffsetsInKernelParams(const Params&) { ""); } -#define MAKE_ZERO(reg) "veor.s8 " #reg ", " #reg ", " #reg "\n" +#define MAKE_ZERO(reg) "vmov.s8 " #reg ", #0\n" #define IF_FLOAT_OUTPUT(a) ".if %c[float_output]\n" a ".endif\n" diff --git a/larq_compute_engine/core/bgemm_kernels_arm64.h b/larq_compute_engine/core/bgemm_kernels_arm64.h index 2b9b88103..191d2e4bc 100644 --- a/larq_compute_engine/core/bgemm_kernels_arm64.h +++ b/larq_compute_engine/core/bgemm_kernels_arm64.h @@ -83,7 +83,7 @@ void CheckOffsetsInBinaryKernelParams(const Params&) { ""); } -#define MAKE_ZERO(reg) "eor " #reg ".16b, " #reg ".16b, " #reg ".16b\n" +#define MAKE_ZERO(reg) "movi " #reg ".16b, #0\n" #define IF_FLOAT_OUTPUT(a) ".if %c[float_output]\n" a ".endif\n"