Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mike.k at digitalcarbide dot com
Target Milestone: ---
This issue has been validated to occur back as far as at least 5.4.0, and still
occurs in trunk.
When shifting an unsigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82658
--- Comment #2 from mike.k at digitalcarbide dot com ---
I wanted to validate if this issue was presenting in the toolchains for other
architectures, so I tested a bit:
GCC 7.2.0 on x86-64 (-O3):
C:
movzx eax, BYTE PTR [rsp-1]
shr al
mov
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: mike.k at digitalcarbide dot com
Target Milestone: ---
The following code generates progressively worse code from GCC 7.5 to GCC 8.3
to GCC 9.1 (and trunk):
static void func_base(int t, const int v) {
int x = 0
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: mike.k at digitalcarbide dot com
Target Milestone: ---
In situations where a function either returns a specific value or does not
return at all, GCC fails to perform tail
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91459
--- Comment #1 from mike.k at digitalcarbide dot com ---
'foo3' in the assembly output should be 'foo2'. I'd changed the function name
in my test code and did not update the assembly. Apologies.
: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: mike.k at digitalcarbide dot com
Target Milestone: ---
In a trivial function-forwarder where `__attribute__((noinline))` is specified
on
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93605
--- Comment #2 from mike.k at digitalcarbide dot com ---
Interestingly, changing `impl::func`'s signature from `bool v` to `auto&& v`
fixes the issue. Changing it to `auto v` does not.