From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 56F563858C39; Mon, 7 Aug 2023 01:55:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 56F563858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1691373332; bh=V6cA4q6JoQqnxbnVBLMm3T/TwyiyS/6bdVnuc/Yi7bc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=rpDnPRi7NNAuKYDnh4j6rR8sSQ4jdPO/3d+xg5V9DvOp7q0AJcKeEdfGJipEM5qLU REqymMRIG2rTIDjgsovonRtwpSb1YVoOQ0dEISFjDUb6H+PNuQFDVoEm8P5OAVF74n SGwtFqS1VDQdO6LqXgD2v3ybJhGPgm0FVkkaX28k= From: "crazylht at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/105504] Fails to break dependency for vcvtss2sd xmm, xmm, mem Date: Mon, 07 Aug 2023 01:55:26 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 12.1.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: crazylht at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105504 Hongtao.liu changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |crazylht at gmail dot com --- Comment #8 from Hongtao.liu --- (In reply to Eric Gallager from comment #7) > (In reply to CVS Commits from comment #6) > > The master branch has been updated by hongtao Liu : > >=20 > > https://gcc.gnu.org/g:5e005393d4ff0a428c5f55b9ba7f65d6078a7cf5 > >=20 > > commit r13-1009-g5e005393d4ff0a428c5f55b9ba7f65d6078a7cf5 > > Author: liuhongt > > Date: Mon May 30 15:30:51 2022 +0800 > >=20 > > Disparages SSE_REGS alternatives sligntly with ?v instead of *v in > > *mov{si,di}_internal. > >=20=20=20=20=20 > > So alternative v won't be igored in record_reg_classess. > >=20=20=20=20=20 > > Similar for *r alternatives in some vector patterns. > >=20=20=20=20=20 > > It helps testcase in the PR, also RA now makes better decisions for > > gcc.target/i386/extract-insert-combining.c > >=20=20=20=20=20 > > movd %esi, %xmm0 > > movd %edi, %xmm1 > > - movl %esi, -12(%rsp) > > paddd %xmm0, %xmm1 > > pinsrd $0, %esi, %xmm0 > > paddd %xmm1, %xmm0 > >=20=20=20=20=20 > > The patch has no big impact on SPEC2017 for both O2 and Ofast > > march=3Dnative run. > >=20=20=20=20=20 > > And I noticed there's some changes in SPEC2017 from code like > >=20=20=20=20=20 > > mov mem, %eax > > vmovd %eax, %xmm0 > > .. > > mov %eax, 64(%rsp) > >=20=20=20=20=20 > > to > >=20=20=20=20=20 > > vmovd mem, %xmm0 > > .. > > vmovd %xmm0, 64(%rsp) > >=20=20=20=20=20 > > Which should be exactly what we want? > >=20=20=20=20=20 > > gcc/ChangeLog: > >=20=20=20=20=20 > > PR target/105513 > > PR target/105504 > > * config/i386/i386.md (*movsi_internal): Change alternative > > from *v to ?v. > > (*movdi_internal): Ditto. > > * config/i386/sse.md (vec_set_0): Change alternative = *r > > to ?r. > > (*vec_extractv4sf_mem): Ditto. > > (*vec_extracthf): Ditto. > >=20=20=20=20=20 > > gcc/testsuite/ChangeLog: > >=20=20=20=20=20 > > * gcc.target/i386/pr105513-1.c: New test. > > * gcc.target/i386/extract-insert-combining.c: Add new > > scan-assembler-not for spill. >=20 > Did this fix it? Yes.=