Splitting inline asm in to multiple blocks like shown in the article isn't a reliable way of using inline asm. Unless registers are specified in clobber list compiler isn't aware which registers are used by inline asm and may use them for other purpose. That can easily break by compiler overwriting them between inline asm blocks or other way around - inline asm overwriting values that compiler stored there.