https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65510
--- Comment #5 from Chen Gang <gang.chen.5i5j at gmail dot com> --- After remove clobber (match_scratch ...), it will generate the correct assembly code (I guess it is): .file "test.i" .c6xabi_attribute Tag_ABI_array_object_alignment, 0 .c6xabi_attribute Tag_ABI_array_object_align_expected, 0 .c6xabi_attribute Tag_ABI_stack_align_needed, 0 .c6xabi_attribute Tag_ABI_stack_align_preserved, 0 .c6xabi_attribute Tag_ABI_conformance, "1.0" .text; .align 2 .global oxu_driver_init .type oxu_driver_init, @function oxu_driver_init: mvk .d1 11, A4 ldnw .d1t1 *A4, A3 nop 4 stnw .d1t1 A3, *A4 ret .s2 B3 nop 5 .size oxu_driver_init, .-oxu_driver_init .ident "GCC: (GNU) 5.0.0 20150321 (experimental)" And also can cross building Linux kernel with allmodconfig successfully. I shall send patch for it, next.