remove extra - lines
authorKonstantinos Margaritis <konstantinos.margaritis@vectorcamp.gr>
Thu, 27 Apr 2023 09:44:03 +0000 (09:44 +0000)
committerKonstantinos Margaritis <konstantinos.margaritis@vectorcamp.gr>
Thu, 27 Apr 2023 09:44:03 +0000 (09:44 +0000)
openpower/sv/cookbook/chacha20.mdwn

index 70af40e7612ec2003bd2652d107d05315a54b2e1..fa3e9db5ae6563219d368620abd98e0e44307275 100644 (file)
@@ -156,13 +156,9 @@ same) indices are (in terms of x):
 |    |    |    |    |    |    |    |    |
 |----|----|----|----|----|----|----|----|
 |  0 |  8 |  0 |  8 |  1 |  9 |  1 |  9 |
-|----|----|----|----|----|----|----|----|
 |  2 | 10 |  2 | 10 |  3 | 11 |  3 | 11 |
-|----|----|----|----|----|----|----|----|
 |  0 | 10 |  0 | 10 |  1 | 11 |  1 | 11 |
-|----|----|----|----|----|----|----|----|
 |  2 |  8 |  2 |  8 |  3 |  9 |  3 |  9 |
-|----|----|----|----|----|----|----|----|
 
 However, since the indices are small values, using a single 64-bit
 register for a single index value is a waste so we will compress them,
@@ -172,27 +168,21 @@ So, `RT` indices will fit inside these 4 registers (in Little Endian format):
 |           |                   |                   |                   |                   |
 |-----------|-------------------|-------------------|-------------------|-------------------|
 | SVSHAPE0: | 0x901090108000800 | 0xb030b030a020a02 | 0xb010b010a000a00 | 0x903090308020802 |
-|-----------|-------------------|-------------------|-------------------|-------------------|
    
 Similarly we find the RB indices:
 
 |    |    |    |    |    |    |    |    |
 |----|----|----|----|----|----|----|----|
 |  4 | 12 |  4 | 12 |  5 | 13 |  5 | 13 |
-|----|----|----|----|----|----|----|----|
 |  6 | 14 |  6 | 14 |  7 | 15 |  7 | 15 |
-|----|----|----|----|----|----|----|----|
 |  5 | 15 |  5 | 15 |  6 | 12 |  6 | 12 |
-|----|----|----|----|----|----|----|----|
 |  7 | 13 |  7 | 13 |  4 | 14 |  7 | 14 |
-|----|----|----|----|----|----|----|----|
    
 Using a similar method, we find the final 4 registers with the `RB` indices:
    
 |           |                   |                   |                   |                   |
 |-----------|-------------------|-------------------|-------------------|-------------------|
 | SVSHAPE1: | 0xd050d050c040c04 | 0xf070f070e060e06 | 0xc060c060f050f05 | 0xe040e040d070d07 |
-|-----------|-------------------|-------------------|-------------------|-------------------|
    
 Now, we can construct the Vertical First loop:
 
@@ -306,20 +296,15 @@ for `sv.add` (`SHAPE0`). So, remembering that our
 |    |    |    |    |    |    |    |    |
 |----|----|----|----|----|----|----|----|
 | 12 |  4 | 12 |  4 | 13 |  5 | 13 |  5 |
-|----|----|----|----|----|----|----|----|
 | 14 |  6 | 14 |  6 | 15 |  7 | 15 |  7 |
-|----|----|----|----|----|----|----|----|
 | 15 |  5 | 15 |  5 | 12 |  6 | 12 |  6 |
-|----|----|----|----|----|----|----|----|
 | 13 |  7 | 13 |  7 | 14 |  4 | 14 |  4 |
-|----|----|----|----|----|----|----|----|
    
 Again, we find  
 
 |           |                   |                   |                   |                   |
 |-----------|-------------------|-------------------|-------------------|-------------------|
 | SVSHAPE2: | 0x50d050d040c040c | 0x70f070f060e060e | 0x60c060c050f050f | 0x40e040e070d070d |
-|-----------|-------------------|-------------------|-------------------|-------------------|
     
 The next operation is the `ROTATE` which takes as operand the result of the
 `XOR` and a shift argument. You can easily see that the indices used in this
@@ -352,7 +337,6 @@ indices for `SVSHAPE3` will have to be in 32-bit elements:
 |         |                    |                    |
 |---------|--------------------|--------------------|
 | SHIFTS: | 0x0000000c00000010 | 0x0000000700000008 |
-|---------|--------------------|--------------------|
 
 The complete algorithm for a loop with 10 iterations is as follows: