The register vZZ.16b is expected to be always 0 throughout the macros in cipher/cipher-gcm-armv8-aarch64-ce.S. The PMUL_128x128 and REDUCTION macros are used in gcry_ghash_setup_armv8_ce_pmull function, however that function does not set vZZ.16b to zero. If previous use left `vZZ.16b non-zero before gcry_ghash_setup_armv8_ce_pmull is called, this will cause invalid GCM auth tag results.
The patch resets vZZ.16b to 0 at the beginning of gcry_ghash_setup_armv8_ce_pmull.