diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index f8e84b2fc8b56342b03c2d2c01f84791a76bbd7c..19c6a985cdf43f228e71a54a316f0d2ffd8915e1 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -118,8 +118,7 @@ relocation_return:
 	ldr	x0, =__bss_start		/* this is auto-relocated! */
 	ldr	x1, =__bss_end			/* this is auto-relocated! */
 clear_loop:
-	str	xzr, [x0]
-	add	x0, x0, #8
+	str	xzr, [x0], #8
 	cmp	x0, x1
 	b.lo	clear_loop