https://sourceware.org/bugzilla/show_bug.cgi?id=31948

            Bug ID: 31948
           Summary: aarch64: binutils does not include FEAT_CSSC in
                    Armv8.9
           Product: binutils
           Version: 2.42
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: alex at alexrp dot com
  Target Milestone: ---

Repro:

    $ aarch64-linux-gnu-as --version
    GNU assembler (GNU Binutils) 2.42
    $ aarch64-linux-gnu-gcc --version
    aarch64-linux-gnu-gcc (GCC) 14.1.0
    $ cat test.c
    int ctz(unsigned int x) { return __builtin_ctz(x); }
    $ aarch64-linux-gnu-gcc -march=armv8.9-a test.c
    /tmp/ccTqWg96.s: Assembler messages:
    /tmp/ccTqWg96.s:14: Error: selected processor does not support `ctz w0,w0'

I initially thought that this might be a GCC bug. But according to the Arm
manual, FEAT_CSSC is mandatory from Armv8.9 if FEAT_AdvSIMD is present, and GCC
considers armv8.9-a (really, armv8-a+) to have AdvSIMD unless the user
indicates otherwise. Checking include/opcode/aarch64.h in binutils, the same
seems to be true here. Yet, binutils notably does not include CSSC in
AARCH64_ARCH_V8_9A_FEATURES. I tried adding it to that macro in my local build
and the sample above built successfully.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to