[Bug middle-end/69400] [5 Regression] wrong code with -O and int128
rsandifo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 19 08:39:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69400
--- Comment #12 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Author: rsandifo
Date: Thu May 19 08:38:23 2016
New Revision: 236444
URL: https://gcc.gnu.org/viewcvs?rev=236444&root=gcc&view=rev
Log:
PR 69400: Invalid 128-bit modulus result
Backport from mainline:
gcc/
2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/69400
* wide-int.cc (wi_pack): Take the precision as argument and
perform canonicalization here rather than in the callers.
Use the main loop to handle all full-width HWIs. Add a
zero HWI if in_len isn't a full result.
(wi::divmod_internal): Update accordingly.
(wi::mul_internal): Likewise. Simplify.
gcc/testsuite/
2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/69400
* gcc.dg/plugin/wide-int_plugin.c (test_wide_int_mod_trunc): New
function.
(plugin_init): Call it.
* gcc.dg/torture/pr69400.c: New test.
Added:
branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr69400.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/gcc.dg/plugin/wide-int_plugin.c
branches/gcc-5-branch/gcc/wide-int.cc
More information about the Gcc-bugs
mailing list