https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109279
--- Comment #23 from Jeffrey A. Law <law at gcc dot gnu.org> ---
This has devolved into a bit of a mess.
If we look at the repeating sequence in the original report we get:
li a5,16842752
addi a5,a5,257
slli a0,a5,32
add a0,a0,a5
That'll be faster than a memory reference. It'll be 4c on a uber low end
design. With typical lui+addi fusion, 3c. I know of one design that should
handle that mess in 1c. At best hitting the constant pool in memory will be
4c. I'll take that 4 instruction sequence all day long.
The second constant is essentially the same from a performance standpoint.
Similarly for the constant in c#20.
Pinski's case in c#12 should just be a distinct new bug. I'll take care of
creating that. Then I'll close this one.