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