Hello! Attached patch removes unnecessary mixed-mode log patterns. These are not needed, because all x87 float_extend RTXes degenerate to a plain move (or a no-op move). The patch also includes a couple of cleanups with no functional changes. 2018-09-11 Uros Bizjak * config/i386/i386.md (fyl2x_extendxf3_i387): Remove. (log2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate logxf3 insn. (log102): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate log10xf3 insn. (log22): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate log2xf3 insn. (fyl2xp1_extendxf3_i387): Remove. (log1p2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate log1pxf3 insn. (fxtract_extendxf3_i387): Remove. (logb2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate logbxf3 insn. (ilogb2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate fxtractxf3_i387 insn. (significand2): Change operand 1 predicate to general_operand. Extend operand 1 to XFmode and generate significandxf3 insn. Patch was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros.