1 C Loads one word, and adds it to the subkey. Uses T0
2 C AES_LOAD(SRC, KEY, REG)
14 C Stores one word. Destroys input.
26 C AES_FINAL_ROUND_V6(a,b,c,d,key,res)
27 define(<AES_FINAL_ROUND_V6>, <
32 eor $6, $6, T0, lsl #8
35 eor $6, $6, T0, lsl #16
36 ldrb T0, [TABLE, $4, lsr #24]
37 eor $6, $6, T0, lsl #24
42 C AES_FINAL_ROUND_V5(a,b,c,d,key,res,mask)
43 C Avoids the uxtb instruction, introduced in ARMv6.
44 C The mask argument should hold the constant 0xff
45 define(<AES_FINAL_ROUND_V5>, <
48 and T0, $7, $2, ror #8
50 eor $6, $6, T0, lsl #8
51 and T0, $7, $3, ror #16
53 eor $6, $6, T0, lsl #16
54 ldrb T0, [TABLE, $4, lsr #24]
55 eor $6, $6, T0, lsl #24