addi HT, HT, 4048 C Advance to point to the 'CTR' field in the context
- li r27,0x30
li r28,0x40
li r29,0x50
li r30,0x60
vperm D,D,D,LE_MASK
')
- addi RK, HT, 48
lxvb16x VSR(S0), 0, HT C Load 'CTR'
sldi SLEN, LOOP, 7
addi LOOP, LOOP, -1
- lxvd2x VSR(K),0,RK
+ lxvd2x VSR(K),r11,HT C First subkey
vperm K,K,K,LE_MASK
.align 5
addi SRND, SRND, -1
mtctr SRND
- addi RK,RK,0x10
+ addi RK, HT, 64 C Point at second subkey
.align 5
L8x_round_loop1:
lxvd2x VSR(K),0,RK
lxvd2x VSR(S0),0,SSRC
lxvd2x VSR(S1),r9,SSRC
lxvd2x VSR(S2),r10,SSRC
- lxvd2x VSR(S3),r27,SSRC
+ lxvd2x VSR(S3),r11,SSRC
lxvd2x VSR(S4),r28,SSRC
lxvd2x VSR(S5),r29,SSRC
lxvd2x VSR(S6),r30,SSRC
stxvd2x VSR(S0),0,SDST
stxvd2x VSR(S1),r9,SDST
stxvd2x VSR(S2),r10,SDST
- stxvd2x VSR(S3),r27,SDST
+ stxvd2x VSR(S3),r11,SDST
xxlxor VSR(S4), VSR(S4), vs5
xxlxor VSR(S5), VSR(S5), vs6
addi SDST, SDST, 0x80
addi SSRC, SSRC, 0x80
- addi RK, HT, 48
-
- lxvd2x VSR(K),0,RK
+ lxvd2x VSR(K),r11,HT C First subkey
vperm K,K,K,LE_MASK
vadduwm S0, LASTCNT, CNT1
OPN_XXY(vxor, K, S0, S1, S2, S3, S4, S5, S6, S7)
mtctr SRND
- addi RK, RK, 0x10
+ addi RK, HT, 64 C Point at second subkey
.align 5
L8x_round_loop2:
lxvd2x VSR(K),0,RK
lxvd2x VSR(S0),0,SSRC
lxvd2x VSR(S1),r9,SSRC
lxvd2x VSR(S2),r10,SSRC
- lxvd2x VSR(S3),r27,SSRC
+ lxvd2x VSR(S3),r11,SSRC
lxvd2x VSR(S4),r28,SSRC
lxvd2x VSR(S5),r29,SSRC
lxvd2x VSR(S6),r30,SSRC
stxvd2x VSR(S0),0,SDST
stxvd2x VSR(S1),r9,SDST
stxvd2x VSR(S2),r10,SDST
- stxvd2x VSR(S3),r27,SDST
+ stxvd2x VSR(S3),r11,SDST
xxlxor VSR(S4), VSR(S4), vs5
xxlxor VSR(S5), VSR(S5), vs6