* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
@ 2014-02-14 18:39 ` meissner at gcc dot gnu.org
2014-02-14 23:03 ` meissner at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-14 18:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
Michael Meissner <meissner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2014-02-14
Assignee|unassigned at gcc dot gnu.org |meissner at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Michael Meissner <meissner at gcc dot gnu.org> ---
Note, 64-bit direct moves are fairly simple and should be implemented.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
2014-02-14 18:39 ` [Bug target/60203] " meissner at gcc dot gnu.org
@ 2014-02-14 23:03 ` meissner at gcc dot gnu.org
2014-02-16 3:08 ` meissner at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-14 23:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> ---
Created attachment 32142
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32142&action=edit
Proposed patch to fix the problem
This patch adds direct move support for long double and _Decimal128 on ISA 2.07
64-bit machines.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
2014-02-14 18:39 ` [Bug target/60203] " meissner at gcc dot gnu.org
2014-02-14 23:03 ` meissner at gcc dot gnu.org
@ 2014-02-16 3:08 ` meissner at gcc dot gnu.org
2014-02-16 3:10 ` meissner at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-16 3:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Sun Feb 16 03:08:03 2014
New Revision: 207808
URL: http://gcc.gnu.org/viewcvs?rev=207808&root=gcc&view=rev
Log:
[gcc]
2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
(mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
into 64-bit and 32-bit moves. On 64-bit moves, add support for
using direct move instructions on ISA 2.07. Also adjust
instruction length for 64-bit.
(mov<mode>_64bit, TFmode/TDmode): Likewise.
(mov<mode>_32bit, TFmode/TDmode): Likewise.
[gcc/testsuite]
2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* gcc.target/powerpc/pr60203.c: New testsuite.
Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr60203.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
` (2 preceding siblings ...)
2014-02-16 3:08 ` meissner at gcc dot gnu.org
@ 2014-02-16 3:10 ` meissner at gcc dot gnu.org
2014-02-16 3:19 ` meissner at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-16 3:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
Michael Meissner <meissner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Michael Meissner <meissner at gcc dot gnu.org> ---
Fixed in subversion id 207808.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
` (3 preceding siblings ...)
2014-02-16 3:10 ` meissner at gcc dot gnu.org
@ 2014-02-16 3:19 ` meissner at gcc dot gnu.org
2014-02-19 2:14 ` meissner at gcc dot gnu.org
2014-02-19 2:23 ` meissner at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-16 3:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
--- Comment #5 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Sun Feb 16 03:19:11 2014
New Revision: 207809
URL: http://gcc.gnu.org/viewcvs?rev=207809&root=gcc&view=rev
Log:
[gcc]
2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
(mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
into 64-bit and 32-bit moves. On 64-bit moves, add support for
using direct move instructions on ISA 2.07. Also adjust
instruction length for 64-bit.
(mov<mode>_64bit, TFmode/TDmode): Likewise.
(mov<mode>_32bit, TFmode/TDmode): Likewise.
[gcc/testsuite]
2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* gcc.target/powerpc/pr60203.c: New testsuite.
Added:
branches/ibm/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/pr60203.c
- copied unchanged from r207808,
trunk/gcc/testsuite/gcc.target/powerpc/pr60203.c
Modified:
branches/ibm/gcc-4_8-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_8-branch/gcc/config/rs6000/rs6000.md
branches/ibm/gcc-4_8-branch/gcc/testsuite/ChangeLog.ibm
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
` (4 preceding siblings ...)
2014-02-16 3:19 ` meissner at gcc dot gnu.org
@ 2014-02-19 2:14 ` meissner at gcc dot gnu.org
2014-02-19 2:23 ` meissner at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-19 2:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
--- Comment #6 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Wed Feb 19 02:14:17 2014
New Revision: 207868
URL: http://gcc.gnu.org/viewcvs?rev=207868&root=gcc&view=rev
Log:
2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
Split 64-bit moves into 2 patterns. Do not allow the use of
direct move for TDmode in little endian, since the decimal value
has little endian bytes within a word, but the 64-bit pieces are
ordered in a big endian fashion, and normal subreg's of TDmode are
not allowed.
(mov<mode>_64bit_dm): Likewise.
(movtd_64bit_nodm): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/60203] Support long double/_Decimal128 direct move on power8
2014-02-14 18:37 [Bug target/60203] New: Support long double/_Decimal128 direct move on power8 meissner at gcc dot gnu.org
` (5 preceding siblings ...)
2014-02-19 2:14 ` meissner at gcc dot gnu.org
@ 2014-02-19 2:23 ` meissner at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: meissner at gcc dot gnu.org @ 2014-02-19 2:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60203
--- Comment #7 from Michael Meissner <meissner at gcc dot gnu.org> ---
Author: meissner
Date: Wed Feb 19 02:23:10 2014
New Revision: 207869
URL: http://gcc.gnu.org/viewcvs?rev=207869&root=gcc&view=rev
Log:
2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60203
* config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
Split 64-bit moves into 2 patterns. Do not allow the use of
direct move for TDmode in little endian, since the decimal value
has little endian bytes within a word, but the 64-bit pieces are
ordered in a big endian fashion, and normal subreg's of TDmode are
not allowed.
(mov<mode>_64bit_dm): Likewise.
(movtd_64bit_nodm): Likewise.
Modified:
branches/ibm/gcc-4_8-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_8-branch/gcc/config/rs6000/rs6000.md
^ permalink raw reply [flat|nested] 8+ messages in thread