From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 74E033858025; Wed, 2 Mar 2022 14:52:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 74E033858025 From: "hjl.tools at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/103393] [12 Regression] Generating 256bit register usage with -mprefer-avx128 -mprefer-vector-width=128 Date: Wed, 02 Mar 2022 14:52:31 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl.tools at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Mar 2022 14:52:31 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103393 --- Comment #24 from H.J. Lu --- Another testcase: [hjl@gnu-tgl-2 pr103393]$ cat x.c struct TestData { float arr[8]; }; void cpy(struct TestData *s1, struct TestData *s2 ) { for(int i=3D0; i<16; ++i) { s1->arr[i] =3D s2->arr[i]; } } [hjl@gnu-tgl-2 pr103393]$ make x.s /export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/tools-build/gcc-debug/build-x86_64-linux/gcc/ -O2 -march=3Dskylake-avx512 -S x.c [hjl@gnu-tgl-2 pr103393]$ cat x.s .file "x.c" .text .p2align 4 .globl cpy .type cpy, @function cpy: .LFB0: .cfi_startproc vmovdqu64 (%rsi), %zmm0 vmovdqu64 %zmm0, (%rdi) vzeroupper ret .cfi_endproc .LFE0: .size cpy, .-cpy .ident "GCC: (GNU) 12.0.1 20220301 (experimental)" .section .note.GNU-stack,"",@progbits [hjl@gnu-tgl-2 pr103393]$=20 ZMM is used when we try to avoid it.=