LONG_S
LONG_S \stackp, \temp, 0
LONG_S zero, sp, PT_R0
LONG_S t0, sp, PT_PRMD
LONG_S t0, sp, PT_CRMD
LONG_S t0, sp, PT_EUEN
LONG_S t0, sp, PT_ECFG
LONG_S ra, sp, PT_ERA
LONG_S \reg, sp, \offset
#define STR_LONG_S __stringify(LONG_S)
LONG_S s0, THREAD_REG16(\thread)
LONG_S s1, THREAD_REG17(\thread)
LONG_S s2, THREAD_REG18(\thread)
LONG_S s3, THREAD_REG19(\thread)
LONG_S s4, THREAD_REG20(\thread)
LONG_S s5, THREAD_REG21(\thread)
LONG_S s6, THREAD_REG22(\thread)
LONG_S s7, THREAD_REG23(\thread)
LONG_S sp, THREAD_REG29(\thread)
LONG_S fp, THREAD_REG30(\thread)
LONG_S s0, THREAD_REG16(\thread)
LONG_S s1, THREAD_REG17(\thread)
LONG_S s2, THREAD_REG18(\thread)
LONG_S s3, THREAD_REG19(\thread)
LONG_S s4, THREAD_REG20(\thread)
LONG_S s5, THREAD_REG21(\thread)
LONG_S s6, THREAD_REG22(\thread)
LONG_S s7, THREAD_REG23(\thread)
LONG_S sp, THREAD_REG29(\thread)
LONG_S fp, THREAD_REG30(\thread)
LONG_S zero, (t0)
LONG_S $16, PT_R16(sp)
LONG_S $17, PT_R17(sp)
LONG_S $18, PT_R18(sp)
LONG_S $19, PT_R19(sp)
LONG_S $20, PT_R20(sp)
LONG_S $21, PT_R21(sp)
LONG_S $22, PT_R22(sp)
LONG_S $23, PT_R23(sp)
LONG_S $28, PT_R28(sp)
LONG_S $30, PT_R30(sp)
LONG_S $31, PT_R31(sp)
LONG_S k0, PT_STATUS(sp)
LONG_S k0, SSS_SEGCTL0(t1)
LONG_S k0, SSS_SEGCTL1(t1)
LONG_S k0, SSS_SEGCTL2(t1)
LONG_S sp, SSS_SP(t1)
LONG_S \stackp, kernelsp(\temp)
LONG_S \stackp, kernelsp
LONG_S $0, PT_R0(sp)
LONG_S v1, PT_STATUS(sp)
LONG_S v1, PT_CAUSE(sp)
LONG_S ra, PT_EPC(sp)
LONG_S \reg, \offset(sp)
LONG_S v1, PT_LO(sp)
LONG_S v1, PT_HI(sp)
LONG_S v1, PT_ACX(sp)
LONG_S v1, PT_HI(sp)
LONG_S v1, PT_LO(sp)
#define STR_LONG_S __stringify(LONG_S)
LONG_S " $4, %[v]\n\t"
LONG_S " $4, %[v]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[newv2], %[v2]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[src], %[rseq_scratch0]\n\t"
LONG_S " %[dst], %[rseq_scratch1]\n\t"
LONG_S " %[len], %[rseq_scratch2]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " $4, %[load]\n\t"
LONG_S " $4, %[" __rseq_str(rseq_cs) "]\n\t" \
LONG_S " %%r1, %[load]\n\t"
LONG_S " %%r1, %[v]\n\t"
LONG_S " %%r0, %[v]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[newv2], %[v2]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %[src], %[rseq_scratch0]\n\t"
LONG_S " %[dst], %[rseq_scratch1]\n\t"
LONG_S " %[len], %[rseq_scratch2]\n\t"
LONG_S " %[newv], %[v]\n\t"
LONG_S " %%r0, %[" __rseq_str(rseq_cs) "]\n\t" \