https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96377
Bug ID: 96377 Summary: [10/11 Regression] GCC 10.2/11 doesn't build Linux kernel anymore Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- The following testcase reduced from Linux kernel's crypto/aegis128-neon-inner.c started to be rejected with r11-1741-g31427b974ed7b7dd54e28fec595e731bf6eea8ba and r10-8501-g932e9140d3268cf2033c1c3e93219541c53fcd29 #include <arm_neon.h> struct aegis128_state { uint8x16_t v[5]; }; void foo(const void *key, const void *iv, const void *const0, const void *const1) { uint8x16_t k = vld1q_u8(key); uint8x16_t kiv = k ^ vld1q_u8(iv); struct aegis128_state st = {{ kiv, vld1q_u8(const1), vld1q_u8(const0), k ^ vld1q_u8(const0), k ^ vld1q_u8(const1), }}; } The error is: error: incompatible types when initializing type ‘unsigned char’ using type ‘uint8x16_t’ {aka ‘__Uint8x16_t’} (twice)