]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
* x86/machine.m4 (AES_LOAD): New macro.
authorNiels Möller <nisse@lysator.liu.se>
Tue, 14 May 2002 17:50:02 +0000 (19:50 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Tue, 14 May 2002 17:50:02 +0000 (19:50 +0200)
Rev: src/nettle/x86/machine.m4:1.4

x86/machine.m4

index 552de7a1c9ba4fa716cf7e82d78fa5d8d2532a36..dac44cdd7de65b7304c7d2b3600fc67760e38238 100644 (file)
@@ -14,6 +14,22 @@ define(<AES_LAST_ROUND>, <
        andl    <$>0xff000000,%ebp
        orl     %ebp,%edi>)dnl
 
+dnl AES_LOAD(key, src)
+dnl Loads the next block of data from src, and add the subkey pointed
+dnl to by key.
+dnl Note that x86 allows unaligned accesses.
+dnl Would it be preferable to interleave the loads and stores?
+define(<AES_LOAD>, <
+       movl    ($2),%eax
+       movl    4($2),%ebx
+       movl    8($2),%ecx
+       movl    12($2),%edx
+       
+       xorl    ($1),%eax
+       xorl    4($1),%ebx
+       xorl    8($1),%ecx
+       xorl    12($1),%edx>)dnl
+
 dnl AES_STORE(key, dst)
 dnl Adds the subkey pointed to by %esi to %eax-%edx,
 dnl and stores the result in the area pointed to by %edi.
@@ -29,4 +45,3 @@ define(<AES_STORE>, <
        movl    %ebx,4($2)
        movl    %ecx,8($2)
        movl    %edx,12($2)>)dnl
-