[llvm-dev] x86: How to Force 2-byte `jmp` instruction in lowering

Dean Michael Berris via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 29 17:17:05 PDT 2016


On Thu, Jun 30, 2016 at 12:38 AM Rafael Espíndola <
rafael.espindola at gmail.com> wrote:

> On 29 June 2016 at 02:49, Dean Michael Berris <dberris at google.com> wrote:
> > On Wed, Jun 29, 2016 at 12:17 PM Rafael Espíndola
> > <rafael.espindola at gmail.com> wrote:
> >>
> >> On 28 June 2016 at 22:14, Dean Michael Berris <dberris at google.com>
> wrote:
> >> > On Wed, Jun 29, 2016 at 12:06 PM Rafael Espíndola
> >> > <rafael.espindola at gmail.com> wrote:
> >> >>
> >> >> On 22 June 2016 at 16:36, Dean Michael Berris via llvm-dev
> >> >> <llvm-dev at lists.llvm.org> wrote:
> >> >> > Peter suggested just writing out '.byte 0xeb, 0x09' and that
> allowed
> >> >> > the
> >> >> > jump instruction to bypass the relaxation, so that fixes my
> immediate
> >> >> > problem. The question still stands though whether it should be
> >> >> > possible
> >> >> > to
> >> >> > do through the instruction builder interface.
> >> >> >
> >> >>
> >> >> I don't think so. When the relax-all flag is on MC will relax all
> >> >> instructions.
> >> >>
> >> >
> >> > I see.
> >> >
> >> > So the question becomes what's the advantage (if any) of Clang passing
> >> > the
> >> > 'relax-all' flag down to MC? Is there a good reason for this behaviour
> >> > at
> >> > all?
> >>
> >> Speed, but it has probably been years since anyone benchmarked that.
> >>
> >
> > Okay. Any objections to just removing that from the clang side?
>
>
> Depends on what the benchmarks show.
>
>
Good point. Is there a set of benchmarks I can run to make sure that this
is a mostly benign change? Something that comes with the test suite?

Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160630/4d898dd3/attachment-0001.html>


More information about the llvm-dev mailing list