diff --git a/internal/sm2ec/p256_asm_ppc64le.s b/internal/sm2ec/p256_asm_ppc64le.s index 079bacb..d77882d 100644 --- a/internal/sm2ec/p256_asm_ppc64le.s +++ b/internal/sm2ec/p256_asm_ppc64le.s @@ -1261,7 +1261,7 @@ TEXT ·p256OrdReduce(SB),NOSPLIT,$0 // --------------------------------------- // sm2p256MulInternal // V0-V3 V30,V31 - Not Modified -// V4-V15 V27-V29 - Volatile +// V4-V15 V28-V29 - Volatile #define CPOOL R7 @@ -1282,7 +1282,7 @@ TEXT ·p256OrdReduce(SB),NOSPLIT,$0 #define ADD3 V9 // Overloaded with SEL2,SEL5 #define ADD4 V10 // Overloaded with SEL3,SEL6 #define RED1 V11 // Overloaded with CAR2 -#define RED2 V12 +#define RED2 V12 // Overloaded with TMP2 #define RED3 V13 // Overloaded with SEL1 #define T2 V14 // Overloaded temporaries @@ -1304,7 +1304,7 @@ TEXT ·p256OrdReduce(SB),NOSPLIT,$0 // TMP1, TMP2 used in // VMULT macros #define TMP1 V13 // Overloaded with RED3 -#define TMP2 V27 +#define TMP2 V12 // Overloaded with RED2 #define ONE V29 // 1s splatted by word TEXT sm2p256MulInternal<>(SB), NOSPLIT, $0-16 @@ -2508,7 +2508,7 @@ TEXT ·p256PointDouble6TimesAsm(SB), NOSPLIT, $0-16 // SUB(T+0x00(SB), CPOOL @@ -2537,8 +2537,6 @@ TEXT ·p256PointAddAsm(SB), NOSPLIT, $16-32 VOR T0, T0, RL // SAVE: RL VOR T1, T1, RH // SAVE: RH - STXVD2X RH, (R1)(R17) // V27 has to be saved - // X=X2; Y- ; MUL; H=T // H = X2*T1 MOVD in2+16(FP), P2ptr LXVD2X (R0)(P2ptr), X0 // X2L @@ -2643,15 +2641,12 @@ TEXT ·p256PointAddAsm(SB), NOSPLIT, $16-32 XXPERMDI X1, X1, $2, X1 VOR RL, RL, Y0 - // VOR RH, RH, Y1 RH was saved above in D2X format - LXVD2X (R1)(R17), Y1 + VOR RH, RH, Y1 CALL sm2p256MulInternal<>(SB) // SUB(R(SB) // SUB(T(SB) VOR T0, T0, U1L VOR T1, T1, U1H diff --git a/internal/sm2ec/p256_asm_s390x.s b/internal/sm2ec/p256_asm_s390x.s index 6c1ecd4..6f94427 100644 --- a/internal/sm2ec/p256_asm_s390x.s +++ b/internal/sm2ec/p256_asm_s390x.s @@ -984,7 +984,7 @@ loop: // --------------------------------------- // sm2p256MulInternal // V0-V3,V30,V31 - Not Modified -// V4-V15 - Volatile +// V4-V14 - Volatile #define CPOOL R4