mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 04:06:18 +08:00
internal/sm2ec: fix s390x p256Select
This commit is contained in:
parent
c26709d795
commit
94a4b08155
@ -217,9 +217,10 @@ TEXT ·p256MovCond(SB), NOSPLIT, $0
|
|||||||
// Constant time table access
|
// Constant time table access
|
||||||
// Indexed from 1 to 15, with -1 offset
|
// Indexed from 1 to 15, with -1 offset
|
||||||
// (index 0 is implicitly point at infinity)
|
// (index 0 is implicitly point at infinity)
|
||||||
// func p256Select(res *P256Point, table *p256Table, idx int)
|
// func p256Select(res *P256Point, table *p256Table, idx int, limit int)
|
||||||
#define P3ptr R1
|
#define P3ptr R1
|
||||||
#define P1ptr R2
|
#define P1ptr R2
|
||||||
|
#define LIMIT R3
|
||||||
#define COUNT R4
|
#define COUNT R4
|
||||||
|
|
||||||
#define X1L V0
|
#define X1L V0
|
||||||
@ -242,6 +243,7 @@ TEXT ·p256MovCond(SB), NOSPLIT, $0
|
|||||||
TEXT ·p256Select(SB), NOSPLIT, $0
|
TEXT ·p256Select(SB), NOSPLIT, $0
|
||||||
MOVD res+0(FP), P3ptr
|
MOVD res+0(FP), P3ptr
|
||||||
MOVD table+8(FP), P1ptr
|
MOVD table+8(FP), P1ptr
|
||||||
|
MOVD limit+24(FP), LIMIT
|
||||||
VLREPB idx+(16+7)(FP), IDX
|
VLREPB idx+(16+7)(FP), IDX
|
||||||
VREPIB $1, ONE
|
VREPIB $1, ONE
|
||||||
VREPIB $1, SEL2
|
VREPIB $1, SEL2
|
||||||
@ -272,10 +274,9 @@ loop_select:
|
|||||||
VSEL Z2H, Z1H, SEL1, Z1H
|
VSEL Z2H, Z1H, SEL1, Z1H
|
||||||
|
|
||||||
VAB SEL2, ONE, SEL2
|
VAB SEL2, ONE, SEL2
|
||||||
ADDW $1, COUNT
|
|
||||||
ADD $96, P1ptr
|
ADD $96, P1ptr
|
||||||
CMPW COUNT, $17
|
ADD $1, COUNT
|
||||||
BLT loop_select
|
CMPBNE COUNT, LIMIT, loop_select
|
||||||
|
|
||||||
VST X1H, 0(P3ptr)
|
VST X1H, 0(P3ptr)
|
||||||
VST X1L, 16(P3ptr)
|
VST X1L, 16(P3ptr)
|
||||||
@ -288,6 +289,7 @@ loop_select:
|
|||||||
#undef P3ptr
|
#undef P3ptr
|
||||||
#undef P1ptr
|
#undef P1ptr
|
||||||
#undef COUNT
|
#undef COUNT
|
||||||
|
#undef LIMIT
|
||||||
#undef X1L
|
#undef X1L
|
||||||
#undef X1H
|
#undef X1H
|
||||||
#undef Y1L
|
#undef Y1L
|
||||||
|
Loading…
x
Reference in New Issue
Block a user