From: Ingo Molnar <mingo@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
Andy Lutomirski <luto@amacapital.net>,
Oleg Nesterov <oleg@redhat.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Alexei Starovoitov <ast@plumgrid.com>,
Will Drewry <wad@chromium.org>, Kees Cook <keescook@chromium.org>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] x86/asm/entry/64: use smaller insns
Date: Thu, 26 Mar 2015 10:37:32 +0100 [thread overview]
Message-ID: <20150326093732.GC14706@gmail.com> (raw)
In-Reply-To: <20150326092712.GA27751@pd.tnic>
* Borislav Petkov <bp@alien8.de> wrote:
> On Wed, Mar 25, 2015 at 05:05:50PM -0700, Linus Torvalds wrote:
> > so 'as' is clearly just stupid. It already takes the size of the
> > constant into account and generates different instructions. Why not
> > for the common 32-bit case too?
>
> I think the destination register mandates which insn to use:
>
> mov $0x12345678, %rdi
> mov $0x12345678, %edi
>
> ...
>
> 15: 48 c7 c7 78 56 34 12 mov $0x12345678,%rdi
> 1c: bf 78 56 34 12 mov $0x12345678,%edi
>
> and 'as' is perhaps not insolent enough to go and change it when
> seeing the 32-bit constant.
Well, GAS generally has the freedom to use more optimal opcodes, as
long as behavior on the CPU matches what the specified opcode does.
Saying that 'movq $0x1, %rdi' should map to the longer variant is
defensible: there should probably always be a way to specify a very
specific opcode even if it's not optimal - say I want to fill in an
alignment space and don't want to use an extra NOP.
But here GAS generates the 10-byte opcode even if 'mov $0x12345678,
%rdi' is used, which is an unforced error.
Thanks,
Ingo
next prev parent reply other threads:[~2015-03-26 9:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-25 17:18 [PATCH 1/4] x86/asm/entry/64: better label name, fix comments Denys Vlasenko
2015-03-25 17:18 ` [PATCH 2/4] x86/asm/entry/64: do not TRACE_IRQS fast SYSRET64 path Denys Vlasenko
2015-03-25 17:29 ` Ingo Molnar
2015-03-25 17:41 ` Denys Vlasenko
2015-03-25 18:04 ` Ingo Molnar
2015-03-25 18:19 ` Denys Vlasenko
2015-03-25 17:18 ` [PATCH 3/4] x86/asm/entry/64: use smaller insns Denys Vlasenko
2015-03-25 18:03 ` Andy Lutomirski
2015-03-25 23:51 ` Linus Torvalds
2015-03-25 23:56 ` H. Peter Anvin
2015-03-26 0:05 ` Linus Torvalds
2015-03-26 0:12 ` H. Peter Anvin
2015-03-26 9:27 ` Borislav Petkov
2015-03-26 9:37 ` Ingo Molnar [this message]
2015-03-26 9:51 ` Borislav Petkov
2015-03-26 10:07 ` Denys Vlasenko
2015-03-26 10:25 ` Ingo Molnar
2015-03-26 10:53 ` Denys Vlasenko
2015-03-26 10:25 ` Borislav Petkov
2015-03-26 9:30 ` Ingo Molnar
2015-03-27 11:47 ` [tip:x86/asm] x86/asm/entry/64: Use smaller instructions tip-bot for Denys Vlasenko
2015-03-25 17:18 ` [PATCH 4/4] x86/asm/entry/64: fix typo in comment Denys Vlasenko
2015-03-27 11:46 ` [tip:x86/asm] x86/asm/entry/64: Use better label name, fix comments tip-bot for Denys Vlasenko
2015-03-27 12:15 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150326093732.GC14706@gmail.com \
--to=mingo@kernel.org \
--cc=ast@plumgrid.com \
--cc=bp@alien8.de \
--cc=dvlasenk@redhat.com \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=oleg@redhat.com \
--cc=rostedt@goodmis.org \
--cc=torvalds@linux-foundation.org \
--cc=wad@chromium.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.