projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a455baa
)
* config/i386/i386.md (divmodqi4): Use lowpart_subreg.
author
Uros Bizjak
<uros@gcc.gnu.org>
Thu, 29 Dec 2016 23:19:32 +0000
(
00:19
+0100)
committer
Uros Bizjak
<uros@gcc.gnu.org>
Thu, 29 Dec 2016 23:19:32 +0000
(
00:19
+0100)
From-SVN: r243969
gcc/config/i386/i386.md
patch
|
blob
|
history
diff --git
a/gcc/config/i386/i386.md
b/gcc/config/i386/i386.md
index 0f0bf7a393af8bfafe6e7755b94f51d97aed519f..7a1ff76be56130e89d15f2fcbec983ca1171e702 100644
(file)
--- 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);
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));
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]);
rtx_insn *insn = emit_move_insn (operands[3], tmp1);
mod = gen_rtx_MOD (QImode, operands[1], operands[2]);