[Bug target/82361] Useless "mov eax, eax" in generated code
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Sep 30 08:11:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82361
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Sat Sep 30 08:10:15 2017
New Revision: 253317
URL: https://gcc.gnu.org/viewcvs?rev=253317&root=gcc&view=rev
Log:
PR target/82361
* config/i386/i386.md
(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
*divmodsi4_zext_2): New define_insn_and_split.
(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
New define_insn_and_split.
(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
operands[1] having DImode when mode is SImode.
* gcc.target/i386/pr82361-1.c: New test.
* gcc.target/i386/pr82361-2.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr82361-1.c
trunk/gcc/testsuite/gcc.target/i386/pr82361-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list