(no commit message)
authorlkcl <lkcl@web>
Tue, 19 Jan 2021 14:51:59 +0000 (14:51 +0000)
committerIkiWiki <ikiwiki.info>
Tue, 19 Jan 2021 14:51:59 +0000 (14:51 +0000)
openpower/sv/remap.mdwn

index 483d24478e44b58b4665954e15ca1c6728453f5e..6ded7ef6debc709e12dd913881eec031711fea2b 100644 (file)
@@ -229,3 +229,5 @@ void gmix_column(unsigned char *r) {
 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 byte-level 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.
 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 byte-level 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.
+
+The other alternative is to simply perform the actual 4x4 GF(256) Matrix Multiply using the MDS Matrix.