This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/82682] [8 Regression] FAIL: gcc.target/i386/pr50038.c scan-assembler-times movzbl 2 (found 3 times) since r253958
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 21 Dec 2017 00:13:39 +0000
- Subject: [Bug target/82682] [8 Regression] FAIL: gcc.target/i386/pr50038.c scan-assembler-times movzbl 2 (found 3 times) since r253958
- Auto-submitted: auto-generated
- References: <bug-82682-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82682
--- Comment #7 from Jeffrey A. Law <law at redhat dot com> ---
One thought would be to realize that the copy/extend sequence seen in this case
is special. It's going to be used when the input for the extension can't be
used in an extension (ie %esi in this case). ie, we had to emit an input
reload for the extension insn.
So when the source of the copy is the destination of the extension and the
destination of the copy is the source of the extension and the appropriate
input operands die at the copy & extension, then we could just ignore the copy
entirely and treat the extension like a (set (src) (extend
(src_in_narrow_mode))
Again, not sure how ugly that would be to model in REE, but it's one way to
think about the problem.