Hello! We don't need scratch memory to convert value from memory.
2011-11-29 Uros Bizjak <ubiz...@gmail.com> * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for alternative 0. Tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN. Uros. Index: i386.md =================================================================== --- i386.md (revision 181804) +++ i386.md (working copy) @@ -4679,7 +4679,7 @@ (define_insn "*floathi<mode>2_i387_with_temp" [(set (match_operand:X87MODEF 0 "register_operand" "=f,f") (float:X87MODEF (match_operand:HI 1 "nonimmediate_operand" "m,?r"))) - (clobber (match_operand:HI 2 "memory_operand" "=m,m"))] + (clobber (match_operand:HI 2 "memory_operand" "=X,m"))] "TARGET_80387 && (!(SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH) || TARGET_MIX_SSE_I387)"