https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64003

--- Comment #21 from Ilya Enkovich <enkovich.gnu at gmail dot com> ---
(In reply to Jeffrey A. Law from comment #20)
> Ilya, it's the function call in this code I think:
> 
>   (cond [(eq_attr "length_nobnd" "!0")
>            (plus (symbol_ref ("ix86_bnd_prefixed_insn_p (insn)"))
>                  (attr "length_nobnd"))
> 
> You're calling out to ix86_bnd_prefixed_insn_p, and that's problematical for
> branch shortening if I'm understanding Joern's comments here and David's
> comments in the PA port correctly.

Then we have three problematic patterns and the easiest way to handle it is to
get rid of ix86_bnd_prefixed_insn_p call in length computation for them.  I
think the easiest way to do it is to have separate bnd and nobnd patterns for
these instructions.  Attached patch helps me to resolve valgrind error.  Is
such approach fine?

Reply via email to