Skip to content

Commit

Permalink
8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementa…
Browse files Browse the repository at this point in the history
…tion using vector instructions

Reviewed-by: shade, xliu
Backport-of: 4f3b626a36319cbbbbdcb1c02a84486a3d4eddb6
  • Loading branch information
Andrew Haley committed Nov 24, 2021
1 parent 6a7a2d2 commit b3ef0ea
Show file tree
Hide file tree
Showing 5 changed files with 1,028 additions and 7 deletions.
18 changes: 18 additions & 0 deletions src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1291,6 +1291,24 @@ class MacroAssembler: public Assembler {
Register zlen, Register tmp1, Register tmp2, Register tmp3,
Register tmp4, Register tmp5, Register tmp6, Register tmp7);
void mul_add(Register out, Register in, Register offs, Register len, Register k);
void ghash_multiply(FloatRegister result_lo, FloatRegister result_hi,
FloatRegister a, FloatRegister b, FloatRegister a1_xor_a0,
FloatRegister tmp1, FloatRegister tmp2, FloatRegister tmp3);
void ghash_reduce(FloatRegister result, FloatRegister lo, FloatRegister hi,
FloatRegister p, FloatRegister z, FloatRegister t1);
void ghash_processBlocks_wide(address p, Register state, Register subkeyH,
Register data, Register blocks, int unrolls);
void ghash_modmul (FloatRegister result,
FloatRegister result_lo, FloatRegister result_hi, FloatRegister b,
FloatRegister a, FloatRegister vzr, FloatRegister a1_xor_a0, FloatRegister p,
FloatRegister t1, FloatRegister t2, FloatRegister t3);

void aesenc_loadkeys(Register key, Register keylen);
void aesecb_encrypt(Register from, Register to, Register keylen,
FloatRegister data = v0, int unrolls = 1);
void aesecb_decrypt(Register from, Register to, Register key, Register keylen);
void aes_round(FloatRegister input, FloatRegister subkey);

// ISB may be needed because of a safepoint
void maybe_isb() { isb(); }

Expand Down
Loading

1 comment on commit b3ef0ea

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.