public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} @ 2014-06-18 14:25 cbaylis at gcc dot gnu.org 2014-07-25 10:39 ` [Bug target/61551] " ramana at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: cbaylis at gcc dot gnu.org @ 2014-06-18 14:25 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61551 Bug ID: 61551 Summary: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: cbaylis at gcc dot gnu.org CC: ramana.radhakrishnan at arm dot com Target: arm-unknown-linux-gnueabi Created attachment 32967 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32967&action=edit test for NEON addressing modes The attached test case demonstrates that GCC does not exploit the post-indexed addressing mode for NEON structure loads and stores: VLDn, VSTn where n>=2. Generated code for VLD1/VST1 (using desired post-indexed addressing) test_ld1: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vld1.8 {d16}, [r0], r1 vst1.8 {d16}, [r0], r1 vld1.8 {d16}, [r0], r1 vst1.8 {d16}, [r0], r1 vld1.8 {d16}, [r0], r1 vst1.8 {d16}, [r0] bx lr Generated code for VLD2: test_ld2: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. adds r3, r0, r1 vld2.8 {d16-d17}, [r0] adds r0, r3, r1 adds r2, r0, r1 vst2.8 {d16-d17}, [r3] adds r3, r2, r1 vld2.8 {d16-d17}, [r0] add r1, r1, r3 vst2.8 {d16-d17}, [r2] vld2.8 {d16-d17}, [r3] vst2.8 {d16-d17}, [r1] bx lr A proof of concept patch is posted at: https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01361.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61551] [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} 2014-06-18 14:25 [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} cbaylis at gcc dot gnu.org @ 2014-07-25 10:39 ` ramana at gcc dot gnu.org 2015-04-22 12:00 ` jakub at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: ramana at gcc dot gnu.org @ 2014-07-25 10:39 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61551 Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2014-07-25 CC| |ramana at gcc dot gnu.org Target Milestone|--- |4.10.0 Ever confirmed|0 |1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61551] [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} 2014-06-18 14:25 [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} cbaylis at gcc dot gnu.org 2014-07-25 10:39 ` [Bug target/61551] " ramana at gcc dot gnu.org @ 2015-04-22 12:00 ` jakub at gcc dot gnu.org 2015-04-22 12:50 ` ramana at gcc dot gnu.org 2020-09-22 17:34 ` cbaylis at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: jakub at gcc dot gnu.org @ 2015-04-22 12:00 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61551 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.0 |5.2 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- GCC 5.1 has been released. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61551] [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} 2014-06-18 14:25 [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} cbaylis at gcc dot gnu.org 2014-07-25 10:39 ` [Bug target/61551] " ramana at gcc dot gnu.org 2015-04-22 12:00 ` jakub at gcc dot gnu.org @ 2015-04-22 12:50 ` ramana at gcc dot gnu.org 2020-09-22 17:34 ` cbaylis at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: ramana at gcc dot gnu.org @ 2015-04-22 12:50 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61551 Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.2 |6.0 --- Comment #2 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> --- This really is 6.0 now - I can't see this as being eligible for the 5.x branches. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug target/61551] [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} 2014-06-18 14:25 [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} cbaylis at gcc dot gnu.org ` (2 preceding siblings ...) 2015-04-22 12:50 ` ramana at gcc dot gnu.org @ 2020-09-22 17:34 ` cbaylis at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: cbaylis at gcc dot gnu.org @ 2020-09-22 17:34 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61551 cbaylis at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #6 from cbaylis at gcc dot gnu.org --- This was fixed in https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=612ea540d2e1fe5eae5213823a3cec0d3d864fb2 This patch adds support for modelling the varying costs of different addressing modes. This patch adds support for modelling the varying costs of different addressing modes. The generic cost table treats all addressing modes as having equal cost. gcc/ChangeLog: 2017-11-23 Charles Baylis <charles.baylis@linaro.org> * config/arm/arm-protos.h (enum arm_addr_mode_op): New. (struct addr_mode_cost_table): New. (struct tune_params): Add field addr_mode_costs. * config/arm/arm.c (generic_addr_mode_costs): New. (arm_slowmul_tune): Initialise addr_mode_costs field. (arm_fastmul_tune): Likewise. (arm_strongarm_tune): Likewise. (arm_xscale_tune): Likewise. (arm_9e_tune): Likewise. (arm_marvell_pj4_tune): Likewise. (arm_v6t2_tune): Likewise. (arm_cortex_tune): Likewise. (arm_cortex_a8_tune): Likewise. (arm_cortex_a7_tune): Likewise. (arm_cortex_a15_tune): Likewise. (arm_cortex_a35_tune): Likewise. (arm_cortex_a53_tune): Likewise. (arm_cortex_a57_tune): Likewise. (arm_exynosm1_tune): Likewise. (arm_xgene1_tune): Likewise. (arm_cortex_a5_tune): Likewise. (arm_cortex_a9_tune): Likewise. (arm_cortex_a12_tune): Likewise. (arm_cortex_a73_tune): Likewise. (arm_v7m_tune): Likewise. (arm_cortex_m7_tune): Likewise. (arm_v6m_tune): Likewise. (arm_fa726te_tune): Likewise. (arm_mem_costs): Use table lookup to calculate cost of addressing mode. From-SVN: r255112 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-09-22 17:34 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-06-18 14:25 [Bug target/61551] New: [NEON] alter costs to allow use of post-indexed addressing modes for VLD{2..4}/VST{2..4} cbaylis at gcc dot gnu.org 2014-07-25 10:39 ` [Bug target/61551] " ramana at gcc dot gnu.org 2015-04-22 12:00 ` jakub at gcc dot gnu.org 2015-04-22 12:50 ` ramana at gcc dot gnu.org 2020-09-22 17:34 ` cbaylis at gcc dot gnu.org
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).