.if     \el == 0
        clear_gp_regs
        mrs     x21, sp_el0
-       ldr_this_cpu    tsk, __entry_task, x20  // Ensure MDSCR_EL1.SS is clear,
-       ldr     x19, [tsk, #TSK_TI_FLAGS]       // since we can unmask debug
-       disable_step_tsk x19, x20               // exceptions when scheduling.
+       ldr_this_cpu    tsk, __entry_task, x20
+       msr     sp_el0, tsk
+
+       // Ensure MDSCR_EL1.SS is clear, since we can unmask debug exceptions
+       // when scheduling.
+       ldr     x19, [tsk, #TSK_TI_FLAGS]
+       disable_step_tsk x19, x20
 
        apply_ssbd 1, x22, x23
 
        str     w21, [sp, #S_SYSCALLNO]
        .endif
 
-       /*
-        * Set sp_el0 to current thread_info.
-        */
-       .if     \el == 0
-       msr     sp_el0, tsk
-       .endif
-
        /* Save pmr */
 alternative_if ARM64_HAS_IRQ_PRIO_MASKING
        mrs_s   x20, SYS_ICC_PMR_EL1