Various IA-64 assembler fix-ups.
authorAndy Polyakov <appro@openssl.org>
Fri, 23 Jul 2004 22:54:18 +0000 (22:54 +0000)
committerAndy Polyakov <appro@openssl.org>
Fri, 23 Jul 2004 22:54:18 +0000 (22:54 +0000)
crypto/aes/asm/aes-ia64.S
crypto/sha/asm/sha512-ia64.pl

index e4894bd..1bad469 100644 (file)
@@ -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         };;
 
index d47e2b2..0aea023 100755 (executable)
@@ -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))