ec/asm/ecp_nistz256-sparcv9.pl: get corner logic right.
RT#4284 Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
b564031677
commit
1a66190888
@ -722,6 +722,7 @@ ecp_nistz256_point_double:
|
|||||||
mov $rp,$rp_real
|
mov $rp,$rp_real
|
||||||
mov $ap,$ap_real
|
mov $ap,$ap_real
|
||||||
|
|
||||||
|
.Lpoint_double_shortcut:
|
||||||
ld [$ap+32],@acc[0]
|
ld [$ap+32],@acc[0]
|
||||||
ld [$ap+32+4],@acc[1]
|
ld [$ap+32+4],@acc[1]
|
||||||
ld [$ap+32+8],@acc[2]
|
ld [$ap+32+8],@acc[2]
|
||||||
@ -994,7 +995,7 @@ ecp_nistz256_point_add:
|
|||||||
be,pt %icc,.Ladd_proceed ! (in1infty || in2infty)?
|
be,pt %icc,.Ladd_proceed ! (in1infty || in2infty)?
|
||||||
nop
|
nop
|
||||||
andcc $t2,$t2,%g0
|
andcc $t2,$t2,%g0
|
||||||
be,pt %icc,.Ladd_proceed ! is_equal(S1,S2)?
|
be,pt %icc,.Ladd_double ! is_equal(S1,S2)?
|
||||||
nop
|
nop
|
||||||
|
|
||||||
ldx [%fp+STACK_BIAS-8],$rp
|
ldx [%fp+STACK_BIAS-8],$rp
|
||||||
@ -1025,6 +1026,13 @@ ecp_nistz256_point_add:
|
|||||||
b .Ladd_done
|
b .Ladd_done
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.align 16
|
||||||
|
.Ladd_double:
|
||||||
|
ldx [%fp+STACK_BIAS-8],$rp_real
|
||||||
|
mov $ap_real,$ap
|
||||||
|
b .Lpoint_double_shortcut
|
||||||
|
add %sp,32*(12-4)+32,%sp ! difference in frame sizes
|
||||||
|
|
||||||
.align 16
|
.align 16
|
||||||
.Ladd_proceed:
|
.Ladd_proceed:
|
||||||
add %sp,LOCALS+$R,$bp
|
add %sp,LOCALS+$R,$bp
|
||||||
@ -2016,6 +2024,7 @@ ecp_nistz256_point_double_vis3:
|
|||||||
save %sp,-STACK64_FRAME-32*10,%sp
|
save %sp,-STACK64_FRAME-32*10,%sp
|
||||||
|
|
||||||
mov $rp,$rp_real
|
mov $rp,$rp_real
|
||||||
|
.Ldouble_shortcut_vis3:
|
||||||
mov -1,$minus1
|
mov -1,$minus1
|
||||||
mov -2,$poly3
|
mov -2,$poly3
|
||||||
sllx $minus1,32,$poly1 ! 0xFFFFFFFF00000000
|
sllx $minus1,32,$poly1 ! 0xFFFFFFFF00000000
|
||||||
@ -2536,8 +2545,8 @@ ecp_nistz256_point_add_vis3:
|
|||||||
be,pt %xcc,.Ladd_proceed_vis3 ! (in1infty || in2infty)?
|
be,pt %xcc,.Ladd_proceed_vis3 ! (in1infty || in2infty)?
|
||||||
nop
|
nop
|
||||||
andcc $t2,$t2,%g0
|
andcc $t2,$t2,%g0
|
||||||
be,pt %xcc,.Ladd_proceed_vis3 ! is_equal(S1,S2)?
|
be,a,pt %xcc,.Ldouble_shortcut_vis3 ! is_equal(S1,S2)?
|
||||||
nop
|
add %sp,32*(12-10)+32,%sp ! difference in frame sizes
|
||||||
|
|
||||||
st %g0,[$rp_real]
|
st %g0,[$rp_real]
|
||||||
st %g0,[$rp_real+4]
|
st %g0,[$rp_real+4]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user