ewlu / gcc-precommit-ci

2 stars 0 forks source link

Patch Status 40992-treeoptimization117709__bogus_offset_for_gather_load-1 #2626

Open github-actions[bot] opened 5 days ago

github-actions[bot] commented 5 days ago

Precommit CI Run information

Logs can be found in the associated Github Actions run: https://github.com/ewlu/gcc-precommit-ci/actions/runs/11937669998

Patch information

Applied patches: 1 -> 1 Associated series: https://patchwork.sourceware.org/project/gcc/list/?series=40992 Last patch applied: https://patchwork.sourceware.org/project/gcc/patch/20241120162608.CDB2F137CF@imap1.dmz-prg2.suse.org/ Patch id: 101588

Build Targets

Some targets are built as multilibs. If a build target ends with multilib, please refer to the table below to see all the targets within that multilib. Target name -march string
newlib-rv64gcv-lp64d-multilib rv64gcv-lp64d, rv32gc-ilp32d, rv64gc-lp64d, rv32imc_zba_zbb_zbc_zbs-ilp32
linux-rv64gcv-lp64d-multilib rv32gcv-ilp32d, rv64gcv-lp64d
linux-rv64gc_zba_zbb_zbc_zbs-lp64d-multilib rv32gc_zba_zbb_zbc_zbs-ilp32d, rv64gc_zba_zbb_zbc_zbs-lp64d

Target Information

Target Shorthand -march string
Bitmanip gc_zba_zbb_zbc_zbs

Notes

Testsuite results use a more lenient allowlist to reduce error reporting with flakey tests. Please take a look at the current allowlist. Results come from a sum file comparator. Each patch is applied to a well known, non-broken baseline taken from our gcc postcommit framework (here) which runs the full gcc testsuite every 6 hours. If you have any questions or encounter any issues which may seem like false-positives, please contact us at patchworks-ci@rivosinc.com

github-actions[bot] commented 5 days ago

Lint Status

Lint passed

github-actions[bot] commented 5 days ago

Apply Status

Target Status
Baseline hash: https://github.com/gcc-mirror/gcc/commit/7c7da1036509a988b9ca3492eb856081132b14b2 Failed
Tip of tree hash: https://github.com/gcc-mirror/gcc/commit/16cf1c010dbee4e411f0d1289830bfb6ed5c7807 Failed

Command

> git am ../patches/*.patch --whitespace=fix -q --3way --empty=drop

Output

error: sha1 information is lacking or useless (gcc/tree-vect-stmts.cc).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0001 tree-optimization/117709 - bogus offset for gather load
---
 gcc/tree-vect-stmts.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index 752ee457f6d..522e9f7f90f 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -2048,6 +2048,7 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
   unsigned int group_size;
   unsigned HOST_WIDE_INT gap;
   bool single_element_p;
+  poly_int64 neg_ldst_offset = 0;
   if (STMT_VINFO_GROUPED_ACCESS (stmt_info))
     {
       first_stmt_info = DR_GROUP_FIRST_ELEMENT (stmt_info);
@@ -2105,7 +2106,8 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
        /* ???  The VMAT_CONTIGUOUS_REVERSE code generation is
           only correct for single element "interleaving" SLP.  */
        *memory_access_type = get_negative_load_store_type
-                (vinfo, stmt_info, vectype, vls_type, 1, poffset);
+                (vinfo, stmt_info, vectype, vls_type, 1,
+                 &neg_ldst_offset);
          else
        {
          /* Try to use consecutive accesses of DR_GROUP_SIZE elements,
@@ -2375,6 +2377,10 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
                         masked_p, gs_info, elsvals))
     *memory_access_type = VMAT_GATHER_SCATTER;

+  if (*memory_access_type == VMAT_CONTIGUOUS_DOWN
+      || *memory_access_type == VMAT_CONTIGUOUS_REVERSE)
+    *poffset = neg_ldst_offset;
+
   if (*memory_access_type == VMAT_GATHER_SCATTER
       || *memory_access_type == VMAT_ELEMENTWISE
       || *memory_access_type == VMAT_STRIDED_SLP

Additional information