[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2022-10-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #11 from Andrew Pinski --- *** Bug 107167 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-04 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #10 from cqwrteur --- (In reply to Roger Sayle from comment #9) > Note adding -fno-tree-reassoc results in fewer instructions than clang. maybe I am a little bit picky since I keep writing "portable assembly code" with C++. I just f

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-04 Thread roger at nextmovesoftware dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #9 from Roger Sayle --- Note adding -fno-tree-reassoc results in fewer instructions than clang.

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-04 Thread roger at nextmovesoftware dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 Roger Sayle changed: What|Removed |Added CC||roger at nextmovesoftware dot com --- Co

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #7 from cqwrteur --- (In reply to Andrew Pinski from comment #5) > (In reply to cqwrteur from comment #4) > > (In reply to Andrew Pinski from comment #2) > > > Looks like it is a register allocation/scheduling issue. The extra > > >

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #6 from cqwrteur --- (In reply to Andrew Pinski from comment #5) > (In reply to cqwrteur from comment #4) > > (In reply to Andrew Pinski from comment #2) > > > Looks like it is a register allocation/scheduling issue. The extra > > >

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #5 from Andrew Pinski --- (In reply to cqwrteur from comment #4) > (In reply to Andrew Pinski from comment #2) > > Looks like it is a register allocation/scheduling issue. The extra > > instructions are mov. > > Are there good algos

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #4 from cqwrteur --- (In reply to Andrew Pinski from comment #2) > Looks like it is a register allocation/scheduling issue. The extra > instructions are mov. Are there good algos that can allocate registers optimal?

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread unlvsur at live dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #3 from cqwrteur --- (In reply to Andrew Pinski from comment #2) > Looks like it is a register allocation/scheduling issue. The extra > instructions are mov. yeah. I feel gcc generally has issues with register allocations.

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement Keywords|

[Bug rtl-optimization/103550] 2 more instructions generated by gcc than clang

2021-12-03 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103550 --- Comment #1 from Andrew Pinski --- #include #include inline constexpr std::uint_least64_t s0(std::uint_least64_t x) noexcept { return std::rotr(x,1)^std::rotr(x,8)^(x>>7); } inline constexpr std::uint_least64_t s1(auto x) noexcept {