https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #16 from rguenther at suse dot de ---
On Thu, 7 Mar 2024, gjl at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
>
> --- Comment #14 from Georg-Johann Lay ---
> The code in the example is not a perfect
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #15 from Andrew Pinski ---
Note one thing that might help is define an alternative for bswap that takes a
memory operand and just do the load that way. That will definitely help in the
original code.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #14 from Georg-Johann Lay ---
The code in the example is not a perfect bswap, it needs additional shuffling
of bytes. The tree passes must know that bswap is not a perfect fit. There
must be *some* criterion that depends on the per
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #13 from Richard Biener ---
(In reply to Georg-Johann Lay from comment #12)
> (In reply to Richard Biener from comment #10)
> > I think the target controls the "libcall" ABI that's used for calls to
> > libgcc,
>
> You have a pointe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #12 from Georg-Johann Lay ---
(In reply to Richard Biener from comment #10)
> I think the target controls the "libcall" ABI that's used for calls to
> libgcc,
You have a pointer how to do it or an example? IIRC I looked into it quit
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #11 from Richard Biener ---
diff --git a/gcc/gimple-ssa-store-merging.cc b/gcc/gimple-ssa-store-merging.cc
index 42b68abf61b..c9d4662656f 100644
--- a/gcc/gimple-ssa-store-merging.cc
+++ b/gcc/gimple-ssa-store-merging.cc
@@ -170,6 +1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
Richard Biener changed:
What|Removed |Added
CC||sayle at gcc dot gnu.org
--- Comment #
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #9 from Georg-Johann Lay ---
...and I don't see why a register allocator would or should fix flaws from tree
optimizers.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #8 from Georg-Johann Lay ---
(In reply to Richard Biener from comment #7)
> Note I do understand what you are saying, just the middle-end in detecting
> and using __builtin_bswap32 does what it does everywhere else - it checks
> whet
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #7 from Richard Biener ---
Note I do understand what you are saying, just the middle-end in detecting and
using __builtin_bswap32 does what it does everywhere else - it checks whether
the target implements the operation.
The middle-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #6 from rguenther at suse dot de ---
> Am 06.03.2024 um 17:12 schrieb gjl at gcc dot gnu.org
> :
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
>
> --- Comment #5 from Georg-Johann Lay ---
> (In reply to Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #5 from Georg-Johann Lay ---
(In reply to Richard Biener from comment #4)
> So bswap on a value is just register shuffling, right?
The point is that there is no need for bswap in the first place, just have a
look at the code that v1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
Richard Biener changed:
What|Removed |Added
CC||rguenth at gcc dot gnu.org,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #3 from Georg-Johann Lay ---
(In reply to Richard Biener from comment #1)
> but somehow we end up doing a libcall?
It's not a libcall in the GCC sense, for the compiler it's just an ordinary
insn. The backend then prints this as a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
--- Comment #2 from Richard Biener ---
Looking at avr.md there's no bswap implementation, only the libcall. Why
expose it this way?
I suppose the pattern was added to get bswap recognition, so this is what you
get if you do that?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114252
Richard Biener changed:
What|Removed |Added
Ever confirmed|0 |1
Last reconfirmed|
16 matches
Mail list logo