This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix movqi_1 (PR target/25199)


Hi!

PR target/25199 is about movqi_1 insn using movl into a non-q class
register even when it doesn't know it is at least 32-bit aligned.
I have fixed it on gcc-4_0-branch (see attached gcc4-pr25199.patch),
then later on when trying to forward port it to trunk/4.1
I noticed Dale fixed the same problem already half a year ago
on the trunk.  But comparing the two changes I think the one that
went onto mainline was unnecessarily big hammer, movl is 1 byte
shorter than movzbl, so for -Os it is preferrable to use movl
over movzbl if we know it is aligned.  So, I'm also attaching
a patch for trunk/4.1.  Additionally, I was really surprised
aligned_operand doesn't use MEM_ALIGN (I know it predates
MEM_ALIGN by ~ 1 year), so this patch makes use of it too
and only falls back to the current logic if MEM_ALIGN ()
doesn't prove sufficient alignment.

Ok for trunk/4.1/4.0?

	Jakub

Attachment: gcc41-pr25199.patch
Description: Text document

Attachment: gcc4-pr25199.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]