std     r0,16(r1)
        stdu    r1,-SWITCH_FRAME_SIZE(r1)
        /* r3-r13 are caller saved -- Cort */
-       SAVE_8GPRS(14, r1)
-       SAVE_10GPRS(22, r1)
+       SAVE_NVGPRS(r1)
        std     r0,_NIP(r1)     /* Return to switch caller */
        mfcr    r23
        std     r23,_CCR(r1)
        mtcrf   0xFF,r6
 
        /* r3-r13 are destroyed -- Cort */
-       REST_8GPRS(14, r1)
-       REST_10GPRS(22, r1)
+       REST_NVGPRS(r1)
 
        /* convert old thread to its task_struct for return value */
        addi    r3,r3,-THREAD
         */
        SAVE_GPR(2, r1)                 /* Save the TOC */
        SAVE_GPR(13, r1)                /* Save paca */
-       SAVE_8GPRS(14, r1)              /* Save the non-volatiles */
-       SAVE_10GPRS(22, r1)             /* ditto */
+       SAVE_NVGPRS(r1)                 /* Save the non-volatiles */
 
        mfcr    r4
        std     r4,_CCR(r1)
        /* relocation is on at this point */
        REST_GPR(2, r1)                 /* Restore the TOC */
        REST_GPR(13, r1)                /* Restore paca */
-       REST_8GPRS(14, r1)              /* Restore the non-volatiles */
-       REST_10GPRS(22, r1)             /* ditto */
+       REST_NVGPRS(r1)                 /* Restore the non-volatiles */
 
        GET_PACA(r13)
 
         */
        SAVE_GPR(2, r1)
        SAVE_GPR(13, r1)
-       SAVE_8GPRS(14, r1)
-       SAVE_10GPRS(22, r1)
+       SAVE_NVGPRS(r1)
        mfcr    r10
        mfmsr   r11
        std     r10,_CCR(r1)
        /* Restore other registers */
        REST_GPR(2, r1)
        REST_GPR(13, r1)
-       REST_8GPRS(14, r1)
-       REST_10GPRS(22, r1)
+       REST_NVGPRS(r1)
        ld      r4,_CCR(r1)
        mtcr    r4