summaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2016-12-30 00:19:32 +0100
committerUros Bizjak <uros@gcc.gnu.org>2016-12-30 00:19:32 +0100
commitbc865078dc8ee74ea7ce8b59c10a6b386effa4eb (patch)
tree3a08f377badacd4773d525e4a1221b9156ef9d10 /gcc/config/i386/i386.md
parenta455baa99483a4f5a1e667f35bf682e3f3071f53 (diff)
downloadgcc-bc865078dc8ee74ea7ce8b59c10a6b386effa4eb.tar.gz
* config/i386/i386.md (divmodqi4): Use lowpart_subreg.
From-SVN: r243969
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r--gcc/config/i386/i386.md5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 0f0bf7a393a..7a1ff76be56 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -7553,14 +7553,13 @@
tmp0 = gen_reg_rtx (HImode);
tmp1 = gen_reg_rtx (HImode);
- /* Extend operands[1] to HImode. Generate 8bit divide. Result is
- in AX. */
+ /* Extend operands[1] to HImode. Generate 8bit divide. Result is in AX. */
emit_insn (gen_extendqihi2 (tmp1, operands[1]));
emit_insn (gen_divmodhiqi3 (tmp0, tmp1, operands[2]));
/* Extract remainder from AH. */
tmp1 = gen_rtx_ZERO_EXTRACT (SImode, tmp0, GEN_INT (8), GEN_INT (8));
- tmp1 = gen_rtx_SUBREG (QImode, tmp1, 0);
+ tmp1 = lowpart_subreg (QImode, tmp1, SImode);
rtx_insn *insn = emit_move_insn (operands[3], tmp1);
mod = gen_rtx_MOD (QImode, operands[1], operands[2]);