18c2ecf20Sopenharmony_cicat <<EOF 28c2ecf20Sopenharmony_ci/** 38c2ecf20Sopenharmony_ci * ${arch}${atomic}_dec_and_test - decrement and test 48c2ecf20Sopenharmony_ci * @v: pointer of type ${atomic}_t 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Atomically decrements @v by 1 and 78c2ecf20Sopenharmony_ci * returns true if the result is 0, or false for all other 88c2ecf20Sopenharmony_ci * cases. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_cistatic __always_inline bool 118c2ecf20Sopenharmony_ci${arch}${atomic}_dec_and_test(${atomic}_t *v) 128c2ecf20Sopenharmony_ci{ 138c2ecf20Sopenharmony_ci return ${arch}${atomic}_dec_return(v) == 0; 148c2ecf20Sopenharmony_ci} 158c2ecf20Sopenharmony_ciEOF 16