i386.md (*movtf_internal): Avoid allocating general registers.
* config/i386/i386.md (*movtf_internal): Avoid allocating general registers. Penalize F*r->o alternative to prevent partial memory stalls. Slightly penalize *roF->*r alternative. Generate SSE CONST_DOUBLE immediates when optimizing function for size. Do not move CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL. (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative. (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative. (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m alternatives. (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives. (fp_register_operand splitters): Use fp_register_operand constraint. Do not use FP_REG_P in insn condition. (any_fp_register_operand splitters): Use any_fp_register_operand constraint. Do not use ANY_FP_REG_P in insn condition. * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2. (FP push_operand splitters): Merge {TF,XF,DF}mode splitters. From-SVN: r174489
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment