https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115352

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|tree-optimization           |middle-end
             Target|x86_64-pc-linux-gnu         |x86_64-pc-linux-gnu
                   |                            |aarch64-linux-gnu
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-06-05
               Host|x86_64-pc-linux-gnu         |

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reducing it down to `128*300` works but `128*400` fails. The gimple level
difference between 128*300 vs 128*400 is just the argument that gets passed.
So I don't think the bug is __builtin_sub_overflow_p  expansion but I could be
wrong.

Note clang is very useless at testing this since it unrolls the loop always.
(that is after changing __builtin_sub_overflow_p to __builtin_sub_overflow:

  _BitInt (65) t;
  return __builtin_sub_overflow (0, b, &t);

)


It also fails on aarch64-linux-gnu.

Reply via email to