From 6bc65c32deba0e988865d27eec0a76ea2b5f6254 Mon Sep 17 00:00:00 2001 From: lkcl Date: Tue, 19 Jan 2021 14:10:30 +0000 Subject: [PATCH] --- openpower/sv/remap.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openpower/sv/remap.mdwn b/openpower/sv/remap.mdwn index 95eb3370f..925e1c296 100644 --- a/openpower/sv/remap.mdwn +++ b/openpower/sv/remap.mdwn @@ -214,3 +214,5 @@ void gmix_column(unsigned char *r) { r[3] = b[3] ^ a[2] ^ a[1] ^ b[0] ^ a[0]; } ``` + +With the assumption made by the above code that the column bytes have already been turned around (vertical rather than horizontal) SUBVL.REMAP may transparently fill that role, in-place, without a complex mv operation. The application of the swizzles allows the remapped vec4 a, b and r variables to perform four straight linear 32 bit XOR operations where a scalar processor would be required to perform 16 byte-level individual operations. Given wide enough SIMD backends in hardware these 3 bit XORs may be done as single-cycle operations across the entire 128 bit Rijndael Matrix. -- 2.30.2