constraint.md (Yd, Yx): New register constraints.
authorUros Bizjak <ubizjak@gmail.com>
Sat, 14 May 2011 15:33:02 +0000 (17:33 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sat, 14 May 2011 15:33:02 +0000 (17:33 +0200)
commit479fecd31e5ba51cefad106c8a91989fe5c88e16
tree652e348c7f6403901a3e7207a49a80b401adbb1d
parent748f7574e85b092b4e33e8e10e87e2f6d6261f9a
constraint.md (Yd, Yx): New register constraints.

* config/i386/constraint.md (Yd, Yx): New register constraints.
* config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger.  Use
Yd conditional register constraint.
(*movtf_internal): Use standard_sse_constant_opcode.
(*movxf_internal): Merge with *movxf_internal_nointeger.  Use
Yx conditional register constraint.
(*movdf_internal): Merge with *movdf_internal_nointeger.  Use
Yd conditional register constraint.  Use standard_sse_constant_p to
check for valid SSE constants and call standard_sse_constant_opcode to
output SSE insn.
(*movsf_internal): Use standard_sse_constant_p to check for valid SSE
constants and call standard_sse_constant_opcode to output SSE insn.
* config/i386/i386.c (ix86_option_ovverride_internal): Set
TARGET_INTEGER_DFMODE_MOVES for 64bit targets.  Clear it when
optimize_size is set.
(standard_sse_constant_opcode): Output conditional AVX insn templates.

From-SVN: r173757
gcc/ChangeLog
gcc/config/i386/constraints.md
gcc/config/i386/i386.c
gcc/config/i386/i386.md