Skip to content

Commit fc6a332

Browse files
committed
reduce loads in mli_prv_load_mac_vec4
1 parent 5d28555 commit fc6a332

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lib/src/private/mli_prv_dsp.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,9 +739,15 @@ static inline void __attribute__ ((always_inline)) mli_prv_load_mac_vec4(
739739
const MLI_PTR(int8_t) in,
740740
const MLI_PTR(int8_t) k) {
741741
int32_t four8bitvalues = *(MLI_PTR(int32_t)) in;
742+
#if defined __Xxy
742743
*accu = _dmachbl((int32_t) mli_prv_load_2_samples(k), four8bitvalues);
743744
k += 2;
744745
*accu = _dmachbm((int32_t) mli_prv_load_2_samples(k), four8bitvalues);
746+
#else
747+
int32_t four8bit_weights = *(MLI_PTR(int32_t)) k;
748+
*accu = _dmachbl((int32_t) (v2q15_t) _vsext2bhl(four8bit_weights), four8bitvalues);
749+
*accu = _dmachbm((int32_t) (v2q15_t) _vsext2bhm(four8bit_weights), four8bitvalues);
750+
#endif
745751
}
746752

747753
static inline void __attribute__ ((always_inline)) mli_prv_load_mac_vec4(

0 commit comments

Comments
 (0)