[Bug target/117584] PowerPC ABI for BitInt needs to be done

"jakub at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117584

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, regarding the #c11 issue, I had a look and e.g. on
gcc.dg/torture/bitint-102.c at -O0 that hunk is triggered on s390x-linux too (I
was testing a cross from x86_64).
--- gcc/gimple-lower-bitint.cc.jj       2026-07-28 14:13:06.606033272 +0200
+++ gcc/gimple-lower-bitint.cc  2026-07-28 16:02:01.197392027 +0200
@@ -4583,8 +4583,9 @@ bitint_large_huge::finish_arith_overflow
                             build_fold_addr_expr (unshare_expr (obj)), off);
          g = gimple_build_call (fn, 3,
                                 build_fold_addr_expr (unshare_expr (obj)),
-                                src, build_int_cst (size_type_node,
-                                                    obj_nelts * m_limb_size));
+                                build_fold_addr_expr (src),
+                                build_int_cst (size_type_node,
+                                               obj_nelts * m_limb_size));
          insert_before (g);
        }
       if (orig_obj == NULL_TREE && obj)
changes
--- bitint-102.c.272t.optimized_        2026-07-28 16:01:35.186720765 +0200
+++ bitint-102.c.272t.optimized 2026-07-28 16:02:19.056166321 +0200
@@ -211,7 +211,7 @@ int foo (signed char x, A y)

   <bb 13> :
   # _89 = PHI <0(12), 1(10), 1(11)>
-  __builtin_memmove (&bitint.12, MEM <unsigned long[8]> [(unsigned long[16]
*)&bitint.12 + 64B], 64);
+  __builtin_memmove (&bitint.12, &MEM <unsigned long[8]> [(unsigned long[16]
*)&bitint.12 + 64B], 64);
   _90 = (unsigned long) _89;
   MEM[(unsigned long *)&bitint.12 + 120B] = _90;
   MEM <unsigned long[7]> [(unsigned long[16] *)&bitint.12 + 64B] = {};
at -O0, with -O2 signficantly more, and in assembly in both cases a lot of
differences.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.