diff --git a/include/ck_tile/core/arch/amd_buffer_addressing_builtins.hpp b/include/ck_tile/core/arch/amd_buffer_addressing_builtins.hpp index 562b246ac3..9f9770df1b 100644 --- a/include/ck_tile/core/arch/amd_buffer_addressing_builtins.hpp +++ b/include/ck_tile/core/arch/amd_buffer_addressing_builtins.hpp @@ -2376,12 +2376,23 @@ amd_buffer_load_invalid_element_return_zero(const T* p_src_wave, return amd_buffer_load_impl( src_wave_buffer_resource, src_addr_shift + src_thread_addr_offset, 0); #else - thread_buffer tmp = - amd_buffer_load_impl(src_wave_buffer_resource, src_thread_addr_offset, 0); if constexpr(oob_conditional_check) - return src_thread_element_valid ? tmp : thread_buffer{numeric::zero()}; + { + if(src_thread_element_valid) + { + return amd_buffer_load_impl( + src_wave_buffer_resource, src_thread_addr_offset, 0); + } + else + { + return thread_buffer{numeric::zero()}; + } + } else - return tmp; + { + return amd_buffer_load_impl( + src_wave_buffer_resource, src_thread_addr_offset, 0); + } #endif }