| --- a/library/common.h | 
 | +++ b/library/common.h | 
 | @@ -199,7 +199,7 @@ static inline void mbedtls_xor(unsigned | 
 |          uint8x16_t x = veorq_u8(v1, v2); | 
 |          vst1q_u8(r + i, x); | 
 |      } | 
 | -#if defined(__IAR_SYSTEMS_ICC__) | 
 | +#if defined(__IAR_SYSTEMS_ICC__) || (defined(MBEDTLS_COMPILER_IS_GCC) && MBEDTLS_GCC_VERSION >= 140100) | 
 |      /* This if statement helps some compilers (e.g., IAR) optimise out the byte-by-byte tail case | 
 |       * where n is a constant multiple of 16. | 
 |       * For other compilers (e.g. recent gcc and clang) it makes no difference if n is a compile-time |