[Bug target/47446] [x32] .quad instead of .long is used for address

2011-08-06 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #9 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-08-06 
14:36:55 UTC ---
Author: hjl
Date: Sat Aug  6 14:36:52 2011
New Revision: 177512

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=177512
Log:
Add testcases for PRs 47449/47446.

2011-08-06  H.J. Lu  hongjiu...@intel.com

PR middle-end/47449
* gcc.target/i386/pr47449.c: New.

PR target/47446
* gcc.dg/pr47446-1.c: New.
* gcc.dg/pr47446-2.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.dg/pr47446-1.c
trunk/gcc/testsuite/gcc.dg/pr47446-2.c
trunk/gcc/testsuite/gcc.target/i386/pr47449.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-07-26 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2011-07-26 14:33:34 
UTC ---
Fixed by:

http://gcc.gnu.org/ml/gcc-cvs/2011-07/msg00806.html


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-07-26 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
   Last reconfirmed||2011.07.27 04:19:39
 Resolution|FIXED   |
 Ever Confirmed|0   |1

--- Comment #7 from H.J. Lu hjl.tools at gmail dot com 2011-07-27 04:19:39 
UTC ---
Testcase in comment #4 isn't fixed yet.


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-07-26 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

H.J. Lu hjl.tools at gmail dot com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #8 from H.J. Lu hjl.tools at gmail dot com 2011-07-27 04:24:20 
UTC ---
Fixed.


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-03-11 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2011-03-11 21:24:44 
UTC ---
Another one:

/usr/gcc-4.6.0-x32/bin/gcc -S -o x.s -mx32 -funroll-all-loops -O3 -dp  x.i
/usr/gcc-4.6.0-x32/bin/gcc -mx32 -funroll-all-loops -O3 -dp  -c -o x.o x.s
x.s: Assembler messages:
x.s:25: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode
make: *** [x.o] Error 1
gnu-6:pts/3[86] bash   ~/bugs/gcc/ilp32-30
[hjl@gnu-6 ilp32-30]$ cat x.i
extern char inbuf[];
extern char outbuf[];
extern unsigned insize;
extern unsigned inptr;
static int max_len;
static int peek_bits;
void build_tree() {
  int len;
  char *prefixp;
  max_len = inbuf[inptr++];
  peek_bits = ((max_len) = (12) ? (max_len) : (12));
  prefixp = outbuf[1peek_bits];
  for (len = 1;
   len = peek_bits;
   len++) {
  }
  while (prefixp  outbuf) *--prefixp = 0;
}
[hjl@gnu-6 ilp32-30]$ make
/usr/gcc-4.6.0-x32/bin/gcc -mx32 -funroll-all-loops -O3 -dp  -c -o x.o x.s
x.s: Assembler messages:
x.s:25: Error: cannot represent relocation type BFD_RELOC_64 in x32 mode
make: *** [x.o] Error 1
[hjl@gnu-6 ilp32-30]$


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-03-11 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #5 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-03-11 
23:13:38 UTC ---
Author: hjl
Date: Fri Mar 11 23:13:35 2011
New Revision: 170889

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170889
Log:
Always allow the offsetted memory references for TARGET_X32.

gcc/

2011-03-11  H.J. Lu  hongjiu...@intel.com

PR target/47446
* config/i386/i386.md (*movdi_internal_rex64): Only allow moving
integer constants into 64bit registers for TARGET_X32.

gcc/testsuite/

2011-03-11  H.J. Lu  hongjiu...@intel.com

PR target/47446
* gcc.target/i386/pr47446-3.c: New.

Added:
branches/x32/gcc/testsuite/gcc.target/i386/pr47446-3.c
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/config/i386/i386.md
branches/x32/gcc/config/i386/predicates.md
branches/x32/gcc/testsuite/ChangeLog.x32


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-01-25 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2011-01-25 21:53:55 
UTC ---
The same testcase failed with -fPIC:

[hjl@gnu-6 ilp32-18]$ /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -O -fPIC -dp -c
-o x.o x.i
/tmp/ccnSNxF1.s: Assembler messages:
/tmp/ccnSNxF1.s:21: Error: invalid sections for operation on `L0' and `.L3'
/tmp/ccnSNxF1.s:22: Error: invalid sections for operation on `L0' and `.L2'
/tmp/ccnSNxF1.s:23: Error: invalid sections for operation on `L0' and `.L2'
/tmp/ccnSNxF1.s:24: Error: invalid sections for operation on `L0' and `.L2'
/tmp/ccnSNxF1.s:25: Error: invalid sections for operation on `L0' and `.L3'
/tmp/ccnSNxF1.s:26: Error: invalid sections for operation on `L0' and `.L4'
/tmp/ccnSNxF1.s:27: Error: invalid sections for operation on `L0' and `.L8'
/tmp/ccnSNxF1.s:28: Error: invalid sections for operation on `L0' and `.L6'
[hjl@gnu-6 ilp32-18]$


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-01-25 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #3 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-01-25 
22:05:19 UTC ---
Author: hjl
Date: Tue Jan 25 22:05:16 2011
New Revision: 169258

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169258
Log:
Put back the last TARGET_64BIT check in ix86_output_addr_vec_elt.

gcc/

2011-01-25  H.J. Lu  hongjiu...@intel.com

PR target/47446
* config/i386/i386.c (ix86_output_addr_vec_elt): Put back the
last TARGET_64BIT check.

gcc/testsuite/

2011-01-25  H.J. Lu  hongjiu...@intel.com

PR target/47446
* gcc.target/i386/pr47446-2.c: New.

Added:
branches/x32/gcc/testsuite/gcc.target/i386/pr47446-2.c
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/config/i386/i386.c
branches/x32/gcc/testsuite/ChangeLog.x32


[Bug target/47446] [x32] .quad instead of .long is used for address

2011-01-24 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47446

--- Comment #1 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2011-01-24 
21:07:49 UTC ---
Author: hjl
Date: Mon Jan 24 21:07:47 2011
New Revision: 169182

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169182
Log:
heck TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.

gcc/

2011-01-24  H.J. Lu  hongjiu...@intel.com

PR target/47446
* config/i386/i386.c (ix86_output_addr_vec_elt): Check
TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.
(ix86_output_addr_diff_elt): Likewise.

gcc/testsuite/

2011-01-24  H.J. Lu  hongjiu...@intel.com

PR target/47446
* gcc.target/i386/pr47446-1.c: New.

Added:
branches/x32/gcc/testsuite/gcc.target/i386/pr47446-1.c
Modified:
branches/x32/gcc/ChangeLog.x32
branches/x32/gcc/config/i386/i386.c
branches/x32/gcc/testsuite/ChangeLog.x32