diff --git a/crypto/aes/asm/aes-ia64.S b/crypto/aes/asm/aes-ia64.S index e4894bd190e7e9ffa3fb3499cdc09e0332b02661..1bad469e55094c6d19b0b785ce627dfac41b3050 100644 --- a/crypto/aes/asm/aes-ia64.S +++ b/crypto/aes/asm/aes-ia64.S @@ -71,13 +71,12 @@ AES_encrypt: mov prsave=pr };; .body -{ .mib; and r40=3,r32 - mov pr.rot=7<<16 - brp.exit.imp .Le_rounds_cexit,.Le_cexit_insn - };; +{ .mmi; and r40=3,r32 + ADDP r32=0,r32 + mov pr.rot=7<<16 };; #if defined(_HPUX_SOURCE) // HPUX is big-endian, cut 15 cycles... { .mib; cmp.ne p6,p0=r40,r0 - ADDP r41=4,r32 // 1st arg, borrow teN + add r41=4,r32 // 1st arg, borrow teN (p6) br.dpnt.many .Le_unaligned };; { .mmi; ld4 r19=[r32],8 @@ -156,8 +155,9 @@ AES_encrypt: add te2=2048,te0 } .Le_common: { .mib; add te3=3072,te0 - add r35=-3,r35 };; - + add r35=-3,r35 + brp.exit.imp .Le_rounds_cexit,.Le_cexit_insn + };; { .mii; mov ar.lc=r35 // borrowed s1 mov ar.ec=3 };; @@ -362,13 +362,12 @@ AES_decrypt: mov prsave=pr };; .body -{ .mib; and r40=3,r32 - mov pr.rot=7<<16 - brp.exit.imp .Ld_rounds_cexit,.Ld_cexit_insn - };; +{ .mmi; and r40=3,r32 + ADDP r32=0,r32 + mov pr.rot=7<<16 };; #if defined(_HPUX_SOURCE) // HPUX is big-endian, cut 15 cycles... { .mib; cmp.ne p6,p0=r40,r0 - ADDP r41=4,r32 // 1st arg, borrow teN + add r41=4,r32 // 1st arg, borrow teN (p6) br.dpnt.many .Ld_unaligned };; { .mmi; ld4 r19=[r32],8 @@ -447,8 +446,9 @@ AES_decrypt: add te2=2048,te0 } .Ld_common: { .mib; add te3=3072,te0 - add r35=-3,r35 };; - + add r35=-3,r35 + brp.exit.imp .Ld_rounds_cexit,.Ld_cexit_insn + };; { .mii; mov ar.lc=r35 // borrowed s1 mov ar.ec=3 };; diff --git a/crypto/sha/asm/sha512-ia64.pl b/crypto/sha/asm/sha512-ia64.pl index d47e2b28567d8da08f1aa968e0d7f7eabf8cd286..0aea02399a9b0be4cdc280f1f83d28d52491bb24 100755 --- a/crypto/sha/asm/sha512-ia64.pl +++ b/crypto/sha/asm/sha512-ia64.pl @@ -98,7 +98,7 @@ open STDOUT,">$output" || die "can't open $output: $!"; if ($^O eq "hpux") { $ADDP="addp4"; for (@ARGV) { $ADDP="add" if (/[\+DD|\-mlp]64/); } -} +} else { $ADDP="add"; } for (@ARGV) { $big_endian=1 if (/\-DB_ENDIAN/); $big_endian=0 if (/\-DL_ENDIAN/); } if (!defined($big_endian))