From: lkcl Date: Tue, 19 Jan 2021 14:10:30 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~404 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6bc65c32deba0e988865d27eec0a76ea2b5f6254;p=libreriscv.git --- 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.