[Bug target/118019] RISC-V: Performance regression in hottest function of X264

2025-01-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118019 --- Comment #14 from Vineet Gupta --- (In reply to Robin Dapp from comment #7) > > The problem is GCC-15 has performance regression compare to GCC-14 on both > > strict align and we should fix it, we can't specify use no strict align in > > GCC-

[Bug target/117990] [15 regression] RISC-V: Miscompile at -O3 zvl 256 since r15-4746-g30435cc2610

2024-12-17 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117990 --- Comment #11 from Vineet Gupta --- FWIW cam4 is still failing with similar symptoms. So perhaps it is something else.

[Bug target/118019] RISC-V: Performance regression in hottest function of X264

2024-12-12 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118019 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/117974] RISC-V: VSETVL hoisting across branch

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117974 --- Comment #8 from Vineet Gupta --- (In reply to JuzheZhong from comment #7) > I think Phase 3 early fusion should handle this scenario. It is handling this, except that it fusing the 2nd into 1st which happens to be before the BEQ, hence this

[Bug target/117990] [15] RISC-V: Miscompile at -O3 zvl 256 since r15-4746-g30435cc2610

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117990 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/117722] RISC-V: Failed to vectorize x264_pixel_sad_4x4

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117722 --- Comment #16 from Vineet Gupta --- (In reply to Robin Dapp from comment #15) > (In reply to Vineet Gupta from comment #14) > > @Robin, it seems the current codegen generates 2 widening ops, which might > > not be as efficient. We have done s

[Bug target/117974] RISC-V: VSETVL hoisting across branch

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117974 --- Comment #6 from Vineet Gupta --- (In reply to Jeffrey A. Law from comment #5) > What's starting to rattle around in my brain is the for a loop, if the count > is unknown, then we probably don't want to unroll as that's much more likely > to

[Bug target/117974] RISC-V: VSETVL hoisting across branch

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117974 --- Comment #4 from Vineet Gupta --- (In reply to JuzheZhong from comment #2) > We need to split all insns since some of them are not the ultimate RVV > instruction pattern that depend on VL/VTYPE. > And I don't think the vsetvli should be keep

[Bug target/117722] RISC-V: Failed to vectorize x264_pixel_sad_4x4

2024-12-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117722 --- Comment #14 from Vineet Gupta --- (In reply to Li Pan from comment #7) > Created attachment 59661 [details] > with usad pattern Can you please post the patch, lest we duplicate your effort. It would be nice to test it on real hardware. @Ro

[Bug target/117974] RISC-V: VSETVL hoisting across branch

2024-12-09 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117974 --- Comment #1 from Vineet Gupta --- So the way things seem to work here are in cprop_hardreg (just before vsetvl) we have following: (insn 44 18 47 4 (set (reg:DI 15 a5 [orig:139 _31 ] [139]) (unspec:DI [ (reg:DI 11 a1

[Bug target/117974] New: RISC-V: VSETVL hoisting across branch

2024-12-09 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117974 Bug ID: 117974 Summary: RISC-V: VSETVL hoisting across branch Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target

[Bug tree-optimization/117733] RISC-V SPEC2017 503.bwaves Inefficient fortran multi-dimensional array access

2024-12-09 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117733 --- Comment #3 from Vineet Gupta --- "C" reproducer... void bar(double); void foo(double q[][5], int nx) { int i, l; double dqnorm = 0.0; for (i=0; i < nx; i++) { for (l=0; l<5; l++) { dqnorm = dqnorm + q[i][l]

[Bug target/106265] RISC-V SPEC2017 507.cactu code bloat due to address generation

2024-12-04 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106265 --- Comment #13 from Vineet Gupta --- (In reply to Vineet Gupta from comment #12) > Two years hence and we are a little wiser. > > The root-cause of spills is sched1 > [PR/114729](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729). With abov

[Bug middle-end/117733] RISC-V SPEC2017 503.bwaves Inefficient fortran multi-dimensional array access

2024-11-21 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117733 --- Comment #1 from Vineet Gupta --- Tree vec pass is introducing the following MASK_LEN_LOAD and COND_LEN_ADD constructs. vect__31.15_91 = .MASK_LEN_LOAD (vectp_q.13_99, 64B, { -1, -1, -1, -1 }, _92(D), loop_len_97, 0); vectp_q.13_90 = vec

[Bug middle-end/117733] New: RISC-V SPEC2017 503.bwaves Inefficient fortran multi-dimensional array access

2024-11-21 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117733 Bug ID: 117733 Summary: RISC-V SPEC2017 503.bwaves Inefficient fortran multi-dimensional array access Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords:

[Bug target/117353] [15 regression] RISC-V: ICE when building libcrypt since r15-3228-g771256bcb9ddc4

2024-11-07 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 --- Comment #9 from Vineet Gupta --- Or the other option is to prevent these patterns from kicking in during reload by adjust the costs (there's a TODO there already) diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index 3ac

[Bug target/117353] [15 regression] RISC-V: ICE when building libcrypt since r15-3228-g771256bcb9ddc4

2024-11-07 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 --- Comment #8 from Vineet Gupta --- We could potentially use a scratch in splitter. (clobber (match_scratch:DI 3 "=&r"))]

[Bug target/117353] [15 regression] RISC-V: ICE when building libcrypt since r15-3228-g771256bcb9ddc4

2024-11-07 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 --- Comment #7 from Vineet Gupta --- (In reply to Jeffrey A. Law from comment #6) > So my approach would be to note the insn number, then set a conditional > breakpoint in make_insn_raw (after it initializes INSN_UID in the new > insn). The co

[Bug target/117353] [15 regression] RISC-V: ICE when building libcrypt since r15-3228-g771256bcb9ddc4

2024-10-30 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 --- Comment #4 from Vineet Gupta --- (In reply to Jeffrey A. Law from comment #3) > That doesn't make sense. The can_create_pseudo_p() check should have > prevented this from matching once reload has started. > > Does the insn exist in the .i

[Bug target/117353] [15 regression] RISC-V: ICE when building libcrypt since r15-3228-g771256bcb9ddc4

2024-10-29 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 --- Comment #2 from Vineet Gupta --- For other benign instances of the pattern lshrv8qi3, typically it goes through a splitter in autovec.md which converts it into the canonical RVV form with all the VL info. (define_insn_and_split "3" [(set

[Bug target/117353] New: RISC-V: ICE when building libcrypt

2024-10-29 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 Bug ID: 117353 Summary: RISC-V: ICE when building libcrypt Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target

[Bug target/117353] RISC-V: ICE when building libcrypt

2024-10-29 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117353 Vineet Gupta changed: What|Removed |Added CC||ewlu at rivosinc dot com,

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-10-07 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #21 from Vineet Gupta --- The code is currently pushed to https://github.com/vineetgarc/gcc/commits/topic-sched1/

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-10-07 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #20 from Vineet Gupta --- The model schedule change (at tweak9) seems stable and showing very promising result. The hottest basic block's reg pressure drops down significantly ;; Pressure summary (bb 206): GR_REGS:313 FP_REGS:946 ;

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-09-30 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #19 from Vineet Gupta --- For last several weeks I've been working on various tweaks to address the model schedule issue. It seems conceptually really simple, something along the lines of following: for (;;) { FOR_EACH_DE

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-09-30 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #18 from Vineet Gupta --- Next macro issue is in different sub-algorithm of scheduler. module schedule is a simplistic algorithm run ahead of list schedular to get max pressure which is subsequently used for bounding the list sched

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-09-30 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 Vineet Gupta changed: What|Removed |Added Status|NEW |ASSIGNED --- Comment #17 from Vineet Gup

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-08-27 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #16 from Vineet Gupta --- After ECC hack, the issue persists. Toggles (for cc1plus): -O2 -march=rv64gc_zfa -mabi=lp64d %sfp is the spill because -fno-schedule-insns | -fschedule-insns

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-08-27 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-08-27 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #14 from Vineet Gupta --- Interim update: Per discussions [1] [2] with Richard Sandiford, some of the behavior is fundamental to the "model" heuristics of -fsched-pressure, specially for in-order cores which benefit from little more

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-07-29 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #13 from Vineet Gupta --- So after many months on and off on the issue, I think I understand what's going on. There are 3 insns involved in the issue which sched1 current generates in following order: insn 46(1) srliw a0,a5,

[Bug target/115687] RISC-V optimization when "lui" instructions can be merged

2024-06-27 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115687 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug tree-optimization/115450] [15 Regression] cpu2017 502.gcc runtime miscompute on aarch64 with SVE since r15-1006-gd93353e6423eca

2024-06-26 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115450 --- Comment #4 from Vineet Gupta --- -Ofast -flto=auto -march=rv64gcv_zvl256b_zba_zbb_zbs_zicond_zfa -ftree-vectorize -mrvv-vector-bits=zvl For RISC-V issue only happens in a LTO build

[Bug tree-optimization/115450] [15 Regression] cpu2017 502.gcc runtime miscompute on aarch64 with SVE since r15-1006-gd93353e6423eca

2024-06-26 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115450 Vineet Gupta changed: What|Removed |Added CC||jeffreyalaw at gmail dot com,

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-06-17 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #12 from Vineet Gupta --- Interim update as I unpack sched1. There's the "main" scheduling algorithm which involves 4 queues and an FSM but can be ignored for this update. There's "model" schedule which is the pressure sensitive su

[Bug middle-end/26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

2024-05-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163 Bug 26163 depends on bug 106265, which changed state. Bug 106265 Summary: RISC-V SPEC2017 507.cactu code bloat due to address generation https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106265 What|Removed |Added -

[Bug target/106265] RISC-V SPEC2017 507.cactu code bloat due to address generation

2024-05-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106265 Vineet Gupta changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/115264] New: RISC-V: yet another instance of poor codegen related to stack (glibc tmpnam.c)

2024-05-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115264 Bug ID: 115264 Summary: RISC-V: yet another instance of poor codegen related to stack (glibc tmpnam.c) Product: gcc Version: 15.0 Status: UNCONFIRMED Severity:

[Bug target/105733] riscv: Poor codegen for large stack frames

2024-05-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105733 Vineet Gupta changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/111501] RISC-V: non-optimal casting when shifting

2024-05-06 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111501 --- Comment #4 from Vineet Gupta --- Awesome ! The trunk is open and new stuff, RISC-V certainly, is already landing, so no harm in sending it now ;-)

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-04-17 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #10 from Vineet Gupta --- Debug update -fsched-verbose=99 dumps (they are reay verbose) For the insn/regs under consideration, the canonical pre-scheduled sequence with ideal live-range (but non-ideal load-to-use delay) is f

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-04-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 Vineet Gupta changed: What|Removed |Added Last reconfirmed|2024-04-15 00:00:00 |2024-4-16 --- Comment #9 from Vineet Gup

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-04-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #4 from Vineet Gupta --- (In reply to Jeffrey A. Law from comment #3) > Vineet, do we have this isolated enough that we know what function is most > affected and presumably the most impacted blocks? If so we can probably > start to

[Bug rtl-optimization/114729] RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-04-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 --- Comment #2 from Vineet Gupta --- FWIW -fsched-pressure is already default enabled for RISC-V.

[Bug target/114729] New: RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns

2024-04-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114729 Bug ID: 114729 Summary: RISC-V SPEC2017 507.cactu excessive spillls with -fschedule-insns Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal

[Bug target/112817] RISC-V: RVV: provide attribute riscv_rvv_vector_bits for VLS codegen

2024-03-06 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 --- Comment #15 from Vineet Gupta --- (In reply to Vineet Gupta from comment #14) > 2. implement gcc toggle -mrvv-vector-bits=zvl which essentially copies the > xxx from -march string Done: commit 0a01d1232ff0a8b094270fbf45c9fd0ea46df19f Autho

[Bug target/112817] RISC-V: RVV: provide attribute riscv_rvv_vector_bits for VLS codegen

2024-03-06 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 Vineet Gupta changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Ever confirmed|0

[Bug target/113570] RISC-V: SPEC2017 549 fotonik3d miscompilation in autovec VLS 256 build

2024-01-23 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113570 --- Comment #1 from Vineet Gupta --- This one is a headache as we don't know where the problem is. And that it takes ~7hr for a QEMU run to finish. Good this is there is a comparison point as VLA build works fine. (1). bloat-o-meter (from Linu

[Bug target/113570] New: RISC-V: SPEC2017 549 fotonik3d miscompilation in autovec VLS 256 build

2024-01-23 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113570 Bug ID: 113570 Summary: RISC-V: SPEC2017 549 fotonik3d miscompilation in autovec VLS 256 build Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal

[Bug middle-end/26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

2024-01-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163 Bug 26163 depends on bug 113429, which changed state. Bug 113429 Summary: RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 What|Removed |Added --

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 Vineet Gupta changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-17 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 --- Comment #8 from Vineet Gupta --- Thx for the quick fix. I'll validate and commit !

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 --- Comment #6 from Vineet Gupta --- Created attachment 57111 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57111&action=edit additional modules

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 --- Comment #3 from Vineet Gupta --- The toggles used to build are riscv64-unknown-linux-gnu-gfortran -c -o cam4red.o -I. -Iinclude -Inetcdf/include -Ofast -fno-lto -static -march=rv64gcv_zba_zbb_zbs_zicond -ftree-vectorize --param=riscv-autove

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 --- Comment #2 from Vineet Gupta --- Here's my analysis as to whats going on in vsetvl pass. Reduced Test with annotated BBs. .globl __a_MOD_f .type __a_MOD_f, @function __a_MOD_f: ... ble s1,zero,.L49 s

[Bug target/113429] RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 --- Comment #1 from Vineet Gupta --- Created attachment 57107 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57107&action=edit Reduced cam4 test

[Bug target/113429] New: RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build

2024-01-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113429 Bug ID: 113429 Summary: RISC-V: SPEC2017 527 cam4 miscompilation in autovec VLA build Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal

[Bug target/112817] RISC-V: RVV: provide attribute riscv_rvv_vector_bits for VLS codegen

2024-01-11 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 --- Comment #13 from Vineet Gupta --- Yeah Greg from Rivos started working on it. He'll update here as he makes progress.

[Bug target/113087] [14] RISC-V rv64gcv vector: Runtime mismatch with rv64gc

2024-01-10 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113087 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/112817] RISC-V: RVV: provide a preprocessor macro for VLS codegen

2024-01-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 --- Comment #9 from Vineet Gupta --- (In reply to JuzheZhong from comment #5) > Support VLS codegen with -mrvv-vector-bits and attribute is reasonable to be > landed on GCC-14. > > Could you first implement -mrvv-vector-bits feature ? > > I ha

[Bug target/113087] [14] RISC-V rv64gcv vector: Runtime mismatch with rv64gc

2023-12-22 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113087 --- Comment #18 from Vineet Gupta --- (In reply to JuzheZhong from comment #17) > PLCT told me they passed with zvl256b. > > I always run SPEC with FIXED-VLMAX since we always care about peak > performance > on our board. Sure we all have our

[Bug target/113087] [14] RISC-V rv64gcv vector: Runtime mismatch with rv64gc

2023-12-22 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113087 --- Comment #16 from Vineet Gupta --- (In reply to JuzheZhong from comment #15) > Currently, we don't have much run FAIL and ICE left in full coverage testing. > > I suspect it is very corner case in SPEC. > > You don't have to debug it. Just

[Bug target/113087] [14] RISC-V rv64gcv vector: Runtime mismatch with rv64gc

2023-12-22 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113087 --- Comment #14 from Vineet Gupta --- (In reply to Vineet Gupta from comment #13) > (In reply to JuzheZhong from comment #12) > > (In reply to Patrick O'Neill from comment #11) > > > (In reply to Patrick O'Neill from comment #10) > > > > I've ki

[Bug target/113087] [14] RISC-V rv64gcv vector: Runtime mismatch with rv64gc

2023-12-22 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113087 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/105733] riscv: Poor codegen for large stack frames

2023-12-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105733 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/112853] New: RISC-V: RVV: SPEC2017 525.x264 regression

2023-12-04 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112853 Bug ID: 112853 Summary: RISC-V: RVV: SPEC2017 525.x264 regression Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target

[Bug target/112853] RISC-V: RVV: SPEC2017 525.x264 regression

2023-12-04 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112853 --- Comment #1 from Vineet Gupta --- Currently bisecting. The issue happens at an indexed load insn: => 0x6f656 :vluxei64.v v2,(a3),v2 The src reg v2 is different in good vs. failing case bad case -- info reg v2 b =

[Bug target/112853] RISC-V: RVV: SPEC2017 525.x264 regression

2023-12-04 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112853 --- Comment #2 from Vineet Gupta --- Bisected to commit 97ddebb6b4f6b132b0a8072b26d030077b418963 Author: Juzhe-Zhong Date: Thu Nov 23 18:55:03 2023 +0800 RISC-V: Refine some codes of riscv-v.cc[NFC] This patch is NFC patch to refin

[Bug target/112817] RISC-V: RVV: provide a preprocessor macro for VLS codegen

2023-12-01 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 --- Comment #6 from Vineet Gupta --- (In reply to JuzheZhong from comment #5) > Support VLS codegen with -mrvv-vector-bits and attribute is reasonable to be > landed on GCC-14. I don't think that is the reqmt for this issue. Just defining the

[Bug target/112651] RISC-V Vector new option -mvect-lmul required to force LMUL values (rather than --param=riscv-autovec-lmul to hint at values)

2023-12-01 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112651 --- Comment #4 from Vineet Gupta --- (In reply to JuzheZhong from comment #3) > The reason we use --param=riscv-autovec-lmul instead of -mvect-lmul which is > not documented because we don't have ratifed compile option. > > I have mentioned whe

[Bug target/112817] RISC-V: RVV: provide a preprocessor macro for VLS codegen

2023-12-01 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 Vineet Gupta changed: What|Removed |Added CC||vineetg at gcc dot gnu.org --- Comment #

[Bug target/112817] New: RISC-V: RVV: provide a preprocessor macro for VLS codegen

2023-12-01 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112817 Bug ID: 112817 Summary: RISC-V: RVV: provide a preprocessor macro for VLS codegen Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Pri

[Bug target/111557] [RISC-V] The macro __riscv_unaligned_fast should be __riscv_misaligned_fast

2023-11-16 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111557 Vineet Gupta changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 Vineet Gupta changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-14 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #15 from Vineet Gupta --- (In reply to JuzheZhong from comment #14) > Let me give you some guide which helps you to dig into the problem. > > First, reduce the case as follows: Did your msg get truncated or pressed send too soon ?

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-14 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #13 from Vineet Gupta --- Then I don't know where the problem actually is ?

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-14 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #11 from Vineet Gupta --- As a hack I commented out set_delete() to see what the extraneous vsetvli would have been. ``` .L36: # bb 3: start of outer loop: off 0 vsetvli zero,zero,e8,mf2,ta,ma # insn 2915

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 Vineet Gupta changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #6 from Vineet Gupta --- I have debugged this by single stepped in qemu when the test fails (first loop for offset 0, iteration 8) The last VSETVLI is this one, 0x10a3e 0d107057 vsetvli zero,zero,e32,m2,ta,ma 0x10a42

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #4 from Vineet Gupta --- Created attachment 56541 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56541&action=edit asm output nok

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #3 from Vineet Gupta --- Created attachment 56540 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56540&action=edit asm output ok

[Bug target/112447] risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 --- Comment #2 from Vineet Gupta --- Created attachment 56539 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56539&action=edit manually reduced src

[Bug target/111311] RISC-V regression testsuite errors with --param=riscv-autovec-preference=scalable

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311 --- Comment #16 from Vineet Gupta --- (In reply to Patrick O'Neill from comment #8) > Updated regression list using r14-5070-g4ea36076d66 on rv64gcv: > > === gcc: Unexpected fails for rv64gcv lp64d medlow === > FAIL: gcc.c-torture/execu

[Bug target/112447] New: risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3

2023-11-08 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112447 Bug ID: 112447 Summary: risc-v regression: FAIL: gcc.c-torture/execute/memset-3.c -O3 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal

[Bug target/111311] RISC-V regression testsuite errors with --param=riscv-autovec-preference=scalable

2023-11-02 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311 --- Comment #11 from Vineet Gupta --- (In reply to Robin Dapp from comment #10) > As a general remark: Some of those are present on other backends as well, > some have been introduced by recent common-code changes and some are bogus > test prer

[Bug target/111311] RISC-V regression testsuite errors with --param=riscv-autovec-preference=scalable

2023-11-02 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311 --- Comment #9 from Vineet Gupta --- (In reply to Patrick O'Neill from comment #8) > Updated regression list using r14-5070-g4ea36076d66 on rv64gcv: > > Failure list from: > https://github.com/patrick-rivos/gcc-postcommit-ci/issues/109 And jus

[Bug tree-optimization/111791] RISC-V: Strange loop vectorizaion on popcount function

2023-10-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111791 --- Comment #5 from Vineet Gupta --- (In reply to Robin Dapp from comment #4) > Analyzing loop at pr111791.c:8 > pr111791.c:8:25: note: === analyze_loop_nest === > pr111791.c:8:25: note: === vect_analyze_loop_form === > pr111791.c:8:25: note

[Bug target/109279] RISC-V: complex constants synthesized should be improved

2023-10-06 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109279 --- Comment #19 from Vineet Gupta --- FWIW with today's change, splitter is now hidden from IRA, but we are still getting the extraneous mv. 2023-10-06 c1bc7513b1d7 RISC-V: const: hide mvconst splitter from IRA

[Bug target/109279] RISC-V: complex constants synthesized should be improved

2023-10-06 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109279 --- Comment #18 from Vineet Gupta --- (In reply to Vineet Gupta from comment #17) > (In reply to Vineet Gupta from comment #16) > > > Which is what this produces: > > > ``` > > > long long f(void) > > > { > > > unsigned t = 16843009; > > > l

[Bug target/111466] RISC-V: redundant sign extensions despite ABI guarantees

2023-09-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111466 Vineet Gupta changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug target/111466] RISC-V: redundant sign extensions despite ABI guarantees

2023-09-28 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111466 --- Comment #2 from Vineet Gupta --- (In reply to Vineet Gupta from comment #1) > #1. REE reports failure as "missing definition(s)". > > This is because function args don't have an explicit def, they are just > there. > > Cannot eliminate ex

[Bug target/111466] RISC-V: redundant sign extensions despite ABI guarantees

2023-09-27 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111466 --- Comment #1 from Vineet Gupta --- So there are various aspects to tackling this issue. #1. REE reports failure as "missing definition(s)". This is because function args don't have an explicit def, they are just there. Cannot eliminate exte

[Bug rtl-optimization/111467] REE failing to eliminate redundant extension due to multiple reaching def(s)

2023-09-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111467 --- Comment #1 from Vineet Gupta --- (insn 8 4 11 2 (set (reg:SI 15 a5 [orig:137 b ] [137]) <--- DEF #1 (reg:SI 11 a1 [orig:136 b ] [136])) "max.c":12:20 207 {*movsi_internal} (nil)) (jump_insn 11 8 22 2 (set (pc) (if_then

[Bug rtl-optimization/111467] New: REE failing to eliminate redundant extension due to multiple reaching def(s)

2023-09-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111467 Bug ID: 111467 Summary: REE failing to eliminate redundant extension due to multiple reaching def(s) Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: n

[Bug target/111466] New: RISC-V: redundant sign extensions despite ABI guarantees

2023-09-18 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111466 Bug ID: 111466 Summary: RISC-V: redundant sign extensions despite ABI guarantees Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Prio

[Bug target/98596] registers not reused on RISC-V

2023-09-12 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98596 Vineet Gupta changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug target/111139] RISC-V: improve scalar constants cost model

2023-08-25 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39 --- Comment #2 from Vineet Gupta --- Test case to help drive some of this: unsigned long long f5(unsigned long long i) { return i * 0x0202020202020202ULL; }

[Bug target/111139] New: RISC-V: improve scalar constants cost model

2023-08-24 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39 Bug ID: 39 Summary: RISC-V: improve scalar constants cost model Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: targ

[Bug target/109279] RISC-V: complex constants synthesized should be improved

2023-08-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109279 --- Comment #17 from Vineet Gupta --- (In reply to Vineet Gupta from comment #16) > > Which is what this produces: > > ``` > > long long f(void) > > { > > unsigned t = 16843009; > > long long t1 = t; > > long long t2 = ((unsigned long long

[Bug target/110748] RISC-V: optimize store of DF 0.0

2023-08-15 Thread vineetg at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110748 --- Comment #16 from Vineet Gupta --- (In reply to Vineet Gupta from comment #15) > On the branch devel/vineetg/optim-double-const-m0 I have double -0.0 working. > > znd: > li a5,-1 > sllia5,a5,63 > sd a5,

  1   2   >