adding memory barrier with "memory" clobber