https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127123

            Bug ID: 127123
           Summary: -march=novalake doesn't generate vprorq
           Product: gcc
           Version: 16.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
            Blocks: 126923
  Target Milestone: ---

[hjl@gnu-tgl-3 gcc]$ cat /tmp/x.c
unsigned long long rot1(unsigned long long x) { return (x>>1) | (x<<63); }
[hjl@gnu-tgl-3 gcc]$ /usr/gcc-16.2.1-x32/bin/gcc -S -O2 /tmp/x.c -m32
-march=x86-64-v4
[hjl@gnu-tgl-3 gcc]$ cat x.s
        .file   "x.c"
        .text
        .p2align 4
        .globl  rot1
        .type   rot1, @function
rot1:
.LFB0:
        .cfi_startproc
        vmovq   4(%esp), %xmm0
        vprorq  $1, %xmm0, %xmm0
        vmovd   %xmm0, %eax
        vpextrd $1, %xmm0, %edx
        ret
        .cfi_endproc
.LFE0:
        .size   rot1, .-rot1
        .ident  "GCC: (GNU) 16.2.1 20260810"
        .section        .note.GNU-stack,"",@progbits
[hjl@gnu-tgl-3 gcc]$ /usr/gcc-16.2.1-x32/bin/gcc -S -O2 /tmp/x.c -m32
-march=novalake
[hjl@gnu-tgl-3 gcc]$ cat x.s
        .file   "x.c"
        .text
        .p2align 4
        .globl  rot1
        .type   rot1, @function
rot1:
.LFB0:
        .cfi_startproc
        movl    4(%esp), %eax
        movl    8(%esp), %edx
        movl    %eax, %ecx
        shrdl   $1, %edx, %eax
        shrdl   $1, %ecx, %edx
        ret
        .cfi_endproc
.LFE0:
        .size   rot1, .-rot1
        .ident  "GCC: (GNU) 16.2.1 20260810"
        .section        .note.GNU-stack,"",@progbits
[hjl@gnu-tgl-3 gcc]$


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126923
[Bug 126923] Additional testsuite failures when configured with
--with-arch=native --with-cpu=native

Reply via email to