https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98801
--- Comment #7 from Jeff Hurchalla ---
It might be good to ignore my suggestion to satisfy security needs - if for no
other reason than I can't speak well to those needs. I get the sense crypto's
need to avoid optimizations can be complicated, f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98801
--- Comment #6 from Jeff Hurchalla ---
I'd be quite satisfied with the simpler option that Peter Cordes wrote:
> a non-memory conditional-select builtin that exposes the much more widely
> available ALU conditional-select functionality like x86
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98801
--- Comment #3 from Jeff Hurchalla ---
My last comment went long:
I'd kindly request some way to inform gcc to generate a conditional move,
regardless of method.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98801
--- Comment #2 from Jeff Hurchalla ---
Relying on improved codegen, I believe we have the current problem that there
are times that a programmer knows a conditional is unpredictable, yet it would
be impossible for a compiler to know. There's no
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98801
Bug ID: 98801
Summary: Request for a conditional move built-in function
Product: gcc
Version: 10.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98474
--- Comment #7 from Jeff Hurchalla ---
Thanks for the info. After reading your comment and after reading the
description of wide_int at the top of wide-int.h, the newly patched function
wi::to_mpz() makes sense to me and it looks correct.
I'm c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98474
--- Comment #4 from Jeff Hurchalla ---
Thanks for your fix.
I built/installed gcc from the latest git sources, and prior to applying your
patch, as expected the test cases in this report produced incorrect results.
After I applied your patch, al
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98474
--- Comment #1 from Jeff Hurchalla ---
If I change only the optimization level in the compile command to -O1, then
echo prints the correct result 0.
I have a non-minimal (but still very small) test file on godbolt at
https://godbolt.org/z/4oqnYn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98474
Bug ID: 98474
Summary: incorrect results using __uint128_t
Product: gcc
Version: 10.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++