On 12/05/14 08:42, Uros Bizjak wrote:
Hello!

This patch fixes PR target/64003 by avoiding functions calls during computations of 
"length"
attribute for short jump instructions.  It is achieved by having separate 
templates for prefixed and
not prefixed instructions.  Please see discussion in bugzilla for reasoning.

Bootstrapped and tested on x86_64-unknown-linux-gnu.  Valgrind run for 
reproducer shows
problem is fixed.  OK for trunk?

2014-12-05  Ilya Enkovich  <ilya.enkov...@intel.com>

* config/i386/i386.md (*jcc_1_bnd): New.
(*jcc_2_bnd): New.
(jump_bnd): New.
(*jcc_1): Remove bnd prefix.
(*jcc_2): Likewise.
(jump): Likewise.

Let's proceed with the above version to stay on the safe side for now.

OK for mainline, but please investigate usage of ADJUST_INSN_LENGTH
for ibr-type and ret instructions.
FWIW, I've just committed a minor update to the gcc documentation for this issue. I'm rather depressed this was known for 15 years but nobody's ever documented the issue. Sigh.

Jeff

Reply via email to