OSDN Git Service

Backport from mainline
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 Jan 2013 14:28:19 +0000 (14:28 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 27 Jan 2013 14:28:19 +0000 (14:28 +0000)
commit8df15e79a37c78fb18c7491850dc182becfc6183
treef7196bef3ccf09e8db9a3cd85e4fb1857d81c3dd
parent9cbc087df12e0e9b1153d5ad8cd977d95a85f878
Backport from mainline
2013-01-22  Uros Bizjak  <ubizjak@gmail.com>

PR target/56028
* config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
alternative to (o,r).
(*movdi_internal_rex64): Remove (!o,n) alternative.
(DImode immediate->memory splitter): Remove.
(DImode immediate->memory peephole2): Remove.
(movtf): Enable for TARGET_64BIT || TARGET_SSE.
(*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
alternative to (!o,*r).
(*movtf_internal_sse): New pattern.
(*movxf_internal_rex64): New pattern.
(*movxf_internal): Disable for TARGET_64BIT.
(*movdf_internal_rex64): Remove (!o,F) alternative.

2013-01-23  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
involving stack registers slightly.

2013-01-24  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/constraints.md (Yf): New constraint.
* config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
of f constraint to conditionaly disable x87 register preferences.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.

2012-01-24  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
(*movtf_internal_rex64): Add (!o,C) alternative
(*movxf_internal_rex64): Ditto.
(*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.

testsuite/ChangeLog:

Backport from mainline
2013-01-22  Uros Bizjak  <ubizjak@gmail.com>

PR target/56028
* gcc.target/i386/pr56028.c: New test.

2013-01-24  Uros Bizjak  <ubizjak@gmail.com>

* gcc.target/i386/movsd.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195495 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/constraints.md
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/movsd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr56028.c [new file with mode: 0644]