switcher: in args zeroing, move some gets closer to use
diff --git a/sdk/core/switcher/entry.S b/sdk/core/switcher/entry.S
index 9d5dfe6..85cb966 100644
--- a/sdk/core/switcher/entry.S
+++ b/sdk/core/switcher/entry.S
@@ -298,10 +298,6 @@
 	// Load the target PCC and point to the function.
 	clc                cra, ExportTable_offset_pcc(ct1)
 	cincoffset         cra, cra, s0
-	// Get the number of registers to zero in t2
-	andi               t2, tp, 0x7
-	// Get the interrupt-disable bit in t1
-	andi               t1, tp, 0x10
 	// Zero any unused argument registers
 	// The low 3 bits of the flags field contain the number of arguments to
 	// pass.  We create a small sled that zeroes them and jump into the middle
@@ -310,6 +306,7 @@
 .Lload_zero_arguments_start:
 	auipcc             cs0, %cheriot_compartment_hi(.Lzero_arguments_start)
 	cincoffset         cs0, cs0, %cheriot_compartment_lo_i(.Lload_zero_arguments_start)
+	andi               t2, tp, 0x7 // loader/types.h's ExportEntry::flags
 	// Change from the number of registers to pass into the number of 2-byte
 	// instructions to skip.
 	sll                t2, t2, 1
@@ -321,6 +318,7 @@
 .Lzero_arguments_start:
 	zeroRegisters      a0, a1, a2, a3, a4, a5, t0
 	// Enable interrupts of the interrupt-disable bit is not set in flags
+	andi               t1, tp, 0x10
 	bnez               t1, .Lskip_interrupt_disable
 	csrsi              mstatus, 0x8
 .Lskip_interrupt_disable: