public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "vineet.gupta at linux dot dev" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/109279] New: [13 Regression] RISC-V: complex constants synthesized vs. fetching from constant pool Date: Fri, 24 Mar 2023 22:04:11 +0000 [thread overview] Message-ID: <bug-109279-4@http.gcc.gnu.org/bugzilla/> (raw) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109279 Bug ID: 109279 Summary: [13 Regression] RISC-V: complex constants synthesized vs. fetching from constant pool Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vineet.gupta at linux dot dev Target Milestone: --- This is code bloat regression since gcc 12.1, seen yet again in SPEC2017 deepsjeng. After 2e886eef7f2b5a ("RISC-V: Produce better code with complex constants [PR95632] [PR106602]"). unsigned long long FileAttacks(unsigned long long occ, const unsigned int sq) { unsigned int o; unsigned int f = sq & 7; occ = 0x0101010101010101ULL & (occ >> f); o = ( 0x0080402010080400ULL * occ ) >> 58; return ( aFileAttacks[o][sq>>3] ) << f; } cc1 -O2 -march=rv64gc_zba_zbb_zbc_zbs -mabi=lp64d # stage1 is enough Before above commit ------------------- lui a4,%hi(.LC0) ld a4,%lo(.LC0)(a4) andi a3,a1,7 srl a5,a0,a3 and a5,a5,a4 lui a4,%hi(.LC1) ld a4,%lo(.LC1)(a4) srliw a1,a1,3 mul a5,a5,a4 lui a4,%hi(aFileAttacks) addi a4,a4,%lo(aFileAttacks) srli a5,a5,58 sh3add a5,a5,a1 sh3add a5,a5,a4 ld a0,0(a5) sll a0,a0,a3 ret .section .srodata.cst8,"aM",@progbits,8 .align 3 .LC0: .dword 0x0101010101010101 .align 3 .LC1: .dword 0x0080402010080400 With commit ----------- li a5,16842752 addi a5,a5,257 slli a5,a5,16 addi a5,a5,257 andi a3,a1,7 slli a5,a5,16 srl a4,a0,a3 addi a5,a5,257 and a4,a4,a5 slli a5,a4,9 add a5,a5,a4 slli a5,a5,9 add a5,a5,a4 slli a4,a5,27 add a5,a5,a4 srli a5,a5,45 srliw a1,a1,3 andi a5,a5,504 lui a4,%hi(aFileAttacks) add a5,a5,a1 addi a4,a4,%lo(aFileAttacks) sh3add a5,a5,a4 ld a0,0(a5) sll a0,a0,a3 ret
next reply other threads:[~2023-03-24 22:04 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-03-24 22:04 vineet.gupta at linux dot dev [this message] 2023-03-24 22:08 ` [Bug target/109279] " pinskia at gcc dot gnu.org 2023-03-24 22:08 ` pinskia at gcc dot gnu.org 2023-03-24 22:13 ` vineet.gupta at linux dot dev 2023-03-24 22:15 ` vineet.gupta at linux dot dev 2023-03-24 22:17 ` pinskia at gcc dot gnu.org 2023-03-24 22:29 ` [Bug target/109279] RISC-V: complex constants synthesized should be improved pinskia at gcc dot gnu.org 2023-03-24 22:33 ` pinskia at gcc dot gnu.org 2023-03-24 22:34 ` pinskia at gcc dot gnu.org 2023-03-24 23:33 ` pinskia at gcc dot gnu.org 2023-03-25 0:44 ` vineet.gupta at linux dot dev 2023-03-25 0:48 ` vineet.gupta at linux dot dev 2023-03-25 0:56 ` pinskia at gcc dot gnu.org 2023-03-25 1:12 ` vineet.gupta at linux dot dev 2023-03-30 18:40 ` vineet.gupta at linux dot dev 2023-05-19 17:31 ` vineetg at gcc dot gnu.org 2023-05-19 18:13 ` vineetg at gcc dot gnu.org 2023-08-15 17:37 ` vineetg at gcc dot gnu.org 2023-10-06 19:37 ` vineetg at gcc dot gnu.org 2023-10-06 19:38 ` vineetg at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-109279-4@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).