[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2012-03-15 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213

Andrew Pinski  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0

--- Comment #9 from Andrew Pinski  2012-03-15 
08:44:24 UTC ---
Fixed.


[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-07 Thread uros at gcc dot gnu dot org


--- Comment #8 from uros at gcc dot gnu dot org  2010-08-07 20:32 ---
Subject: Bug 45213

Author: uros
Date: Sat Aug  7 20:32:30 2010
New Revision: 162983

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162983
Log:
PR target/45213
* config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
to output 32bit SFmode immediate as 8 byte sign extended value.

testsuite/ChangeLog:

PR target/45213
* gcc.target/i386/pr45213.c: New test.


Added:
trunk/gcc/testsuite/gcc.target/i386/pr45213.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #7 from hjl dot tools at gmail dot com  2010-08-06 22:39 ---
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00528.html


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2010-
   ||08/msg00528.html


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #6 from hjl dot tools at gmail dot com  2010-08-06 22:10 ---
This patch:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 204211a..3dfbede 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -12921,7 +12921,7 @@ ix86_print_operand (FILE *file, rtx x, int code)

   if (ASSEMBLER_DIALECT == ASM_ATT)
   putc ('$', file);
-  fprintf (file, "0x%08lx", (long unsigned int) l);
+  fprintf (file, "0x%08lx", (long) (int) l);
 }

   /* These float cases don't actually occur as immediate operands.  */

works for me.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #5 from hjl dot tools at gmail dot com  2010-08-06 21:51 ---
The bug is in gcc. "pushq $imm32S" only takes 32bit signed extended
immediate. You can't push 0xbf80. Instead, you push -1082130432
or 0xbf80.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL|http://www.sourceware.org/bu|
   |gzilla/show_bug.cgi?id=11893|
 Status|RESOLVED|REOPENED
 Resolution|INVALID |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2010-08-06 21:02 ---
I opened:

http://www.sourceware.org/bugzilla/show_bug.cgi?id=11893


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

URL||http://www.sourceware.org/bu
   ||gzilla/show_bug.cgi?id=11893
 Status|NEW |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread ubizjak at gmail dot com


--- Comment #3 from ubizjak at gmail dot com  2010-08-06 20:53 ---
(In reply to comment #0)

> It complains on the line:
> 
>   pushq $0x3f80

No, it doesn't. Assembler complains on:

pushq   $0xbf80

Which makes this a binutils bug. Let's ask H.J.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hjl dot tools at gmail dot
   ||com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2010-08-06 20:44 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet||x86_64-*-*
   Keywords||assemble-failure
  Known to fail||4.1.2 4.3.2 4.2.2 4.6.0
   Last reconfirmed|-00-00 00:00:00 |2010-08-06 20:44:01
   date||
Version|unknown |4.5.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213



[Bug target/45213] "suffix or operands invalid for `push'" triggered by optimisations on x86_64

2010-08-06 Thread philip dot taylor at cl dot cam dot ac dot uk


--- Comment #1 from philip dot taylor at cl dot cam dot ac dot uk  
2010-08-06 20:37 ---
Created an attachment (id=21426)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21426&action=view)
test case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45213