Kevin McBride <[EMAIL PROTECTED]> writes:
> Please take notice that I am appealing my bug (number 23605) to the
> steering committee of GCC on the basis that it is a legimate
> bug/enhancement in need of a through research. I believe that Andrew
> Pinski is trying to keep the research from occuring by means of marking
> the bug as invalid.
>
> I am hoping that the steering committee will order a through research on
> the bug. There are times when it might be best to have things like
> memset() inlined by the compiler itself, as outlined in my latest
> comment to the bug.
I'm sure we all look forward to receiving orders from the steering
committee.
As pinskia noted, later, in the PR, you want the
-minline-all-stringops option, which is documented.
In the meantime, I think there may be a bug here, in that memset is
open coded for the i386 at -O0. That doesn't make sense to me; e.g.,
it prevents setting a breakpoing on memset. This happens in this
conditional in ix86_expand_clrmem:
if ((!optimize || optimize_size)
&& (count == 0
|| ((count & 0x03)
&& (!optimize_size || (count & 0x03) + (count >> 2) > 7))))
/* do cld; stos */
This conditional dates back to here:
Tue Jan 11 16:26:47 MET 2000 Jan Hubicka <[EMAIL PROTECTED]>
...
(cld pattern): New.
(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
cmpstrsi_nz_1 insn): Do not output cld instruction
Any thoughts on this?
Ian