diff --git a/zuc/eia256_asm_ppc64x.s b/zuc/eia256_asm_ppc64x.s index a737013..5fd7c97 100644 --- a/zuc/eia256_asm_ppc64x.s +++ b/zuc/eia256_asm_ppc64x.s @@ -93,19 +93,17 @@ TEXT ·eia256RoundTag8(SB),NOSPLIT,$0 VPMSUMD XTMP2, KS_M1, XTMP4 VXOR XTMP3, XTMP4, XTMP3 VSPLTW $2, XTMP3, XTMP3 - VSLDOI $12, XDIGEST, XTMP3, XDIGEST // Update tag - MFVSRD XDIGEST, R8 #ifdef GOARCH_ppc64le - MOVDBR (R3), R6 - XOR R6, R8, R6 - MOVDBR R6, (R3) + VSLDOI $12, XTMP3, XDIGEST, XDIGEST #else + VSLDOI $12, XDIGEST, XTMP3, XDIGEST +#endif + MFVSRD XDIGEST, R8 MOVD (R3), R6 XOR R6, R8, R6 MOVD R6, (R3) -#endif // Copy last 16 bytes of KS to the front MOVD $16, R8