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

            Bug ID: 112368
           Summary: Darwin failures for avx256_move_by_pieces and
                    avx256_store_by_pieces
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fxcoudert at gcc dot gnu.org
  Target Milestone: ---

Seeing many failures on x86_64-apple-darwin21 related to
TARGET_AVX256_MOVE_BY_PIECES:

FAIL: g++.target/i386/pr80566-2.C  -std=gnu++98  scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: g++.target/i386/pr80566-2.C  -std=gnu++14  scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: g++.target/i386/pr80566-2.C  -std=gnu++17  scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: g++.target/i386/pr80566-2.C  -std=gnu++20  scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: gcc.target/i386/eh_return-1.c scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: gcc.target/i386/pieces-memcpy-12.c scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 4
FAIL: gcc.target/i386/pieces-memcpy-13.c scan-assembler-times vmovdqu64[
\\\\t]+[^\\n]*%zmm 2
FAIL: gcc.target/i386/pieces-memcpy-15.c scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memcpy-16.c scan-assembler-times vmovdqu[
\\\\t]+[^\\n]*%ymm 2
FAIL: gcc.target/i386/pieces-memcpy-17.c scan-assembler-times vmovdqu64[
\\\\t]+[^\\n]*%zmm 2
FAIL: gcc.target/i386/pieces-memcpy-18.c scan-assembler-times vmovdqu64[
\\\\t]+[^\\n]*%zmm 2
FAIL: gcc.target/i386/pieces-memcpy-20.c scan-assembler-times vmovdqu(?:64|)[
\\\\t]+[^\\n]*%ymm 4
FAIL: gcc.target/i386/pieces-memcpy-21.c scan-assembler-times vmovdqu(?:64|)[
\\\\t]+[^\\n]*%ymm 4
FAIL: gcc.target/i386/pr90773-26.c scan-assembler-times vmovdqu[\\\\t
]%ymm[0-9]+, \\\\(%[^,]+\\\\) 1
FAIL: gcc.target/i386/pr90773-26.c scan-assembler-times vmovdqu[\\\\t
]%ymm[0-9]+, 32\\\\(%[^,]+\\\\) 1

They were not present on 20230909
(https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/795615.html) and
first appeared on test results in 20231023
(https://gcc.gnu.org/pipermail/gcc-testresults/2023-October/799220.html).

Taking the example of gcc.target/i386/pieces-memcpy-12.c, the asm generated is:

%%%%%%%%
        .build_version macos,  12, 0
        .text
        .p2align 4
        .globl _foo
_foo:
LFB0:
        movq    _src@GOTPCREL(%rip), %rdx
        movq    _dst@GOTPCREL(%rip), %rax
        movq    (%rdx), %rdx
        movq    (%rax), %rax
        vmovdqu (%rdx), %xmm0
        vmovdqu %xmm0, (%rax)
        vmovdqu 16(%rdx), %xmm1
        vmovdqu %xmm1, 16(%rax)
        vmovdqu 32(%rdx), %xmm2
        vmovdqu %xmm2, 32(%rax)
        vmovdqu 48(%rdx), %xmm3
        vmovdqu %xmm3, 48(%rax)
        ret
LFE0:
        .section
__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
        .set L$set$0,LECIE1-LSCIE1
        .long L$set$0
LSCIE1:
        .long   0
        .byte   0x3
        .ascii "zR\0"
        .uleb128 0x1
        .sleb128 -8
        .uleb128 0x10
        .uleb128 0x1
        .byte   0x10
        .byte   0xc
        .uleb128 0x7
        .uleb128 0x8
        .byte   0x90
        .uleb128 0x1
        .align 3
LECIE1:
LSFDE1:
        .set L$set$1,LEFDE1-LASFDE1
        .long L$set$1
LASFDE1:
        .long   LASFDE1-EH_frame1
        .quad   LFB0-.
        .set L$set$2,LFE0-LFB0
        .quad L$set$2
        .uleb128 0
        .align 3
LEFDE1:
        .subsections_via_symbols
%%%%%%%%

Reply via email to