OSDN Git Service

* config/i386/constraint.md (Yd, Yx): New register constraints.
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 15:33:02 +0000 (15:33 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 15:33:02 +0000 (15:33 +0000)
commitec679bd0d429ea5217242e28bb7d155a93ed7d67
tree652e348c7f6403901a3e7207a49a80b401adbb1d
parent6a0cacf93430df221281c01d3c1f13c3bec97627
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173757 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/constraints.md
gcc/config/i386/i386.c
gcc/config/i386/i386.md