https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
--- Comment #8 from GCC Commits ---
The master branch has been updated by Roger Sayle :
https://gcc.gnu.org/g:2f14c0dbb789852947cb58fdf7d3162413f053fa
commit r14-8680-g2f14c0dbb789852947cb58fdf7d3162413f053fa
Author: Roger Sayle
Date: Thu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
Roger Sayle changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
--- Comment #6 from Roger Sayle ---
In the .optimized dump, we have:
__int128 unsigned __res;
__int128 unsigned _12;
...
__res_11 = in_2(D) w* 184467440738;
_12 = __res_11 & 18446744073709551615;
__res_7 = _12 * 100;
So the first
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
--- Comment #5 from accelerator0099 at gmail dot com ---
If we are using an arch without BMI2, we can use single MUL instruction
instead. Here is the description of MUL reg64/mem64.
Multiplies a 64-bit register or memory operand by the contents
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
--- Comment #4 from accelerator0099 at gmail dot com ---
Well, I hope gcc will just generate mulx instruction on arch with BMI2. Let's
look at the AMD64 Architecture Programmer’s Manual Volume 3:
Computes the unsigned product of the specified
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
Alexander Monakov changed:
What|Removed |Added
CC||amonakov at gcc dot gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
Roger Sayle changed:
What|Removed |Added
CC||roger at nextmovesoftware dot
com
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113560
Richard Biener changed:
What|Removed |Added
Keywords||missed-optimization