https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104921
Bug ID: 104921 Summary: aarch64: Assembler failure with vbfmlalbq_lane_f32 intrinsic Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- The following fails: $ cat t.c #include <arm_neon.h> float32x4_t foo(float32x4_t x, bfloat16x8_t a, bfloat16x4_t b) { asm("" ::: "v0", "v1", "v2", "v3", "v4", "v5"); return vbfmlalbq_lane_f32 (x, a, b, 0); } $ ./aarch64-linux-gnu-gcc -c t.c -O2 -march=armv8.2-a+bf16 /tmp/ccwCbu7Y.s: Assembler messages: /tmp/ccwCbu7Y.s:15: Error: register number out of range 0 to 15 at operand 3 -- `bfmlalb v0.4s,v7.8h,v16.h[0]' it looks like the problem exists since the intrinsic was added in GCC 10.