@@ -330,8 +330,8 @@ void bn_relu(const float *pBuffer, const uint16_t dim_x, const uint16_t dim_y,
330
330
ssr_i [0 ], ssr_i [1 ], ssr_i [2 ], ssr_i [3 ]);
331
331
snrt_ssr_repeat (SNRT_SSR_DM1 , 1 ); // Disable repeat from conv2d
332
332
333
- snrt_ssr_read (SNRT_SSR_DM0 , SNRT_SSR_4D , & pBuffer [compute_id * 2 ]);
334
- snrt_ssr_write (SNRT_SSR_DM1 , SNRT_SSR_4D , & pBuffer [compute_id * 2 ]);
333
+ snrt_ssr_read (SNRT_SSR_DM0 , SNRT_SSR_4D , ( volatile void * ) & pBuffer [compute_id * 2 ]);
334
+ snrt_ssr_write (SNRT_SSR_DM1 , SNRT_SSR_4D , ( volatile void * ) & pBuffer [compute_id * 2 ]);
335
335
336
336
// Regular path with max unrolling is only done if dim_y
337
337
// is at least n_unroll
@@ -413,9 +413,9 @@ void bn_relu(const float *pBuffer, const uint16_t dim_x, const uint16_t dim_y,
413
413
uint32_t h_cleanup_index = dim_y - cleanup_unroll ;
414
414
415
415
snrt_ssr_read (SNRT_SSR_DM0 , SNRT_SSR_4D ,
416
- & pBuffer [h_cleanup_index * h_stride + compute_id * 2 ]);
416
+ ( volatile void * ) & pBuffer [h_cleanup_index * h_stride + compute_id * 2 ]);
417
417
snrt_ssr_write (SNRT_SSR_DM1 , SNRT_SSR_4D ,
418
- & pBuffer [h_cleanup_index * h_stride + compute_id * 2 ]);
418
+ ( volatile void * ) & pBuffer [h_cleanup_index * h_stride + compute_id * 2 ]);
419
419
420
420
for (uint32_t co = compute_id ; co < ch / 2 ; co += compute_num ) {
421
421
volatile register v2s current_lambda = ((v2s * )lambda )[co ];
0 commit comments