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.

Reply via email to