Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread Uros Bizjak
On Mon, Mar 5, 2012 at 4:53 AM, H.J. Lu wrote: > and compiler does generate the same output. i386.c also has > >        xasm = "jmp\t%A0"; >    xasm = "call\t%A0"; > > for calls.  There are no separate indirect call patterns.  For x32, > only indirect register calls have to be in DImode.  The dir

libgo patch committed: Better big-endian hash function

2012-03-04 Thread Ian Lance Taylor
This libgo patch improves the big-endian hash function for key sizes less than 8 bytes. The previous hash function would always make all hash values a large multiple of some constants, which interacted badly with the map code. This patch fixes that problem and fixes PR 52342. Bootstrapped and ran

Re: libgo patch committed: Fill out syscall package for GNU/Linux

2012-03-04 Thread Ian Lance Taylor
Rainer Orth writes: > Rainer Orth writes: > >> Ian Lance Taylor writes: >> >>> This patch to libgo fills out the syscall package for GNU/Linux to match >>> all the functions in the syscall package in the master Go library. >>> There is a test case for this patch at >>> http://code.google.com/p/

Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread Ian Lance Taylor
"H.J. Lu" writes: >> @@ -11060,8 +11072,8 @@ ix86_expand_split_stack_prologue (void) >>        { >>          rtx rax; >> >> -         rax = gen_rtx_REG (Pmode, AX_REG); >> -         emit_move_insn (rax, reg10); >> +         rax = gen_rtx_REG (word_mode, AX_REG); >> +         emit_move_insn (rax,

Re: [patch, libffi] Sync merge libffi

2012-03-04 Thread Anthony Green
On 3/4/2012 10:22 PM, John David Anglin wrote: I'm just wondering why Anthony Green and Redhat are listed as copyright holders. I can understand the Free Software Foundation addition since the file was contributed to it. Simply because of changes that were made to that source file over the ye

Re: [PATCH 02/10] addr32: Output REX prefix for UNSPEC_GOTNTPOFF

2012-03-04 Thread H.J. Lu
On Sun, Mar 4, 2012 at 2:52 PM, Uros Bizjak wrote: > On Sun, Mar 4, 2012 at 11:38 PM, H.J. Lu wrote: >> On Sun, Mar 4, 2012 at 2:12 PM, Uros Bizjak wrote: >>> On Fri, Mar 2, 2012 at 9:36 PM, H.J. Lu wrote: >>> X86-64 linker optimizes TLS_MODEL_INITIAL_EXEC to TLS_MODEL_LOCAL_EXEC by c

Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread H.J. Lu
On Sun, Mar 4, 2012 at 2:40 PM, Uros Bizjak wrote: > On Sun, Mar 4, 2012 at 11:01 PM, H.J. Lu wrote: > >>> @@ -13637,7 +13665,8 @@ ix86_print_operand (FILE *file, rtx x, int code) >>>              gcc_unreachable (); >>>            } >>> >>> -         ix86_print_operand (file, x, 0); >>> +      

Re: [patch, libffi] Sync merge libffi

2012-03-04 Thread John David Anglin
On Sun, 04 Mar 2012, Anthony Green wrote: > Hello, > > The attached patch includes changes that have been reviewed, approved and > merged into the stand-alone libffi release tree**. > Tested on x86_64 linux with no regressions, and committed. > > Thanks, > Anthony Green I'd like to question some

Re: [patch, libffi] Sync merge libffi

2012-03-04 Thread Anthony Green
On 3/4/2012 7:53 PM, Matthias Klose wrote: On 04.03.2012 22:20, Anthony Green wrote: Hello, The attached patch includes changes that have been reviewed, approved and merged into the stand-alone libffi release tree**. ** http://github.com/atgreen/libffi does this correspond to a libffi rele

[v3] libstdc++/43813

2012-03-04 Thread Paolo Carlini
Hi, this is what I did to implement the resolution of lwg 1234. All in all pretty straightforward. Note I'm leaving alone for now basic_string and all the trickery with its exports (and well, I don't think *that* many people are instantiating basic_string for, eg, a pointer type). Tested x86

Re: [patch, libffi] Sync merge libffi

2012-03-04 Thread Matthias Klose
On 04.03.2012 22:20, Anthony Green wrote: Hello, The attached patch includes changes that have been reviewed, approved and merged into the stand-alone libffi release tree**. ** http://github.com/atgreen/libffi does this correspond to a libffi release or release candidate?

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-04 Thread Kaz Kojima
Oleg Endo wrote: > Attached is a slightly modified version of the patch from > http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00085.html > > I have removed the signed char weirdo and adjusted the comment above > TARGET_ATOMIC_TEST_AND_SET_TRUEVAL accordingly. > > Tested by compiling some test func

Re: [PATCH 02/10] addr32: Output REX prefix for UNSPEC_GOTNTPOFF

2012-03-04 Thread Uros Bizjak
On Sun, Mar 4, 2012 at 11:38 PM, H.J. Lu wrote: > On Sun, Mar 4, 2012 at 2:12 PM, Uros Bizjak wrote: >> On Fri, Mar 2, 2012 at 9:36 PM, H.J. Lu wrote: >> >>> X86-64 linker optimizes TLS_MODEL_INITIAL_EXEC to TLS_MODEL_LOCAL_EXEC >>> by checking >>> >>>        movq foo@gottpoff(%rip), %reg >>> >>

Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread Uros Bizjak
On Sun, Mar 4, 2012 at 11:01 PM, H.J. Lu wrote: >> @@ -13637,7 +13665,8 @@ ix86_print_operand (FILE *file, rtx x, int code) >>              gcc_unreachable (); >>            } >> >> -         ix86_print_operand (file, x, 0); >> +         ix86_print_operand (file, x, >> +                          

Re: [PATCH 02/10] addr32: Output REX prefix for UNSPEC_GOTNTPOFF

2012-03-04 Thread H.J. Lu
On Sun, Mar 4, 2012 at 2:12 PM, Uros Bizjak wrote: > On Fri, Mar 2, 2012 at 9:36 PM, H.J. Lu wrote: > >> X86-64 linker optimizes TLS_MODEL_INITIAL_EXEC to TLS_MODEL_LOCAL_EXEC >> by checking >> >>        movq foo@gottpoff(%rip), %reg >> >> and >> >>        addq foo@gottpoff(%rip), %reg >> >> It u

Re: [PATCH 02/10] addr32: Output REX prefix for UNSPEC_GOTNTPOFF

2012-03-04 Thread Uros Bizjak
On Fri, Mar 2, 2012 at 9:36 PM, H.J. Lu wrote: > X86-64 linker optimizes TLS_MODEL_INITIAL_EXEC to TLS_MODEL_LOCAL_EXEC > by checking > >        movq foo@gottpoff(%rip), %reg > > and > >        addq foo@gottpoff(%rip), %reg > > It uses the REX prefix to avoid the last byte of the previous > instr

Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread H.J. Lu
On Sun, Mar 4, 2012 at 12:09 PM, Uros Bizjak wrote: > On Sat, Nov 12, 2011 at 3:19 AM, H.J. Lu wrote: > >> The current x32 implementation uses LEAs to convert 32bit address to >> 64bit.  However, we can use addr32 prefix to use 32bit address directly. >> It improves performance by 5% in SPEC CPU

[PATCH, i386]: Declare some variables bool

2012-03-04 Thread Uros Bizjak
Hello! 2012-03-04 Uros Bizjak * config/i386/i386.c (ix86_print_operand) : Declare taken and cputaken as bool. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline as obvious. Uros. Index: config/i386/i386.c =

Re: libgo patch committed: Update to weekly.2012-02-22 release

2012-03-04 Thread Uros Bizjak
Hello! It looks that this patch introduced: /home/uros/gcc-build-go/x86_64-unknown-linux-gnu/32/libgo/.libs/libgo.so: undefined reference to `libgo_runtime.runtime.Callers' collect2: error: ld returned 1 exit status All libgo tests fail due to this undefined reference. Uros.

Re: [PATCH 08/10] addr32: Check Pmode instead of TARGET_64BIT

2012-03-04 Thread Uros Bizjak
On Fri, Mar 2, 2012 at 10:04 PM, H.J. Lu wrote: > Since stack register may be in SImode for TARGET_64BIT, this patch > checks Pmode to adjust stack in proper mode.  OK for trunk? > 2012-03-02  H.J. Lu   > >        * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode >        instead of

Re: [PATCH 06/10] addr32: Check Pmode to set adjust_stack_insn

2012-03-04 Thread Uros Bizjak
On Fri, Mar 2, 2012 at 9:58 PM, H.J. Lu wrote: > Since stack register may be in SImode for TARGET_64BIT, this patch > checks Pmode to set adjust_stack_insn.  OK for trunk? > 2012-03-02  H.J. Lu   > >        * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set >        adjust_stack_insn

Re: [PATCH 02/10] addr32: Only handle zero-extended DImode addresses

2012-03-04 Thread Uros Bizjak
On Fri, Mar 2, 2012 at 9:38 PM, H.J. Lu wrote: > We only need to handle zero-extended addresses in DImode. > OK for trunk? > 2012-03-02  H.J. Lu   > >        * config/i386/i386.c (ix86_print_operand_address): Only handle >        zero-extended DImode addresses. OK. Thanks, Uros.

Re: PATCH [1/n] addr32: Properly use Pmode and word_mode

2012-03-04 Thread Uros Bizjak
On Sat, Nov 12, 2011 at 3:19 AM, H.J. Lu wrote: > The current x32 implementation uses LEAs to convert 32bit address to > 64bit.  However, we can use addr32 prefix to use 32bit address directly. > It improves performance by 5% in SPEC CPU 2K/2006.  All changes are done > in x86 backend, except for

New Swedish PO file for 'gcc' (version 4.7-b20120128)

2012-03-04 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the Swedish team of translators. The file is available at: http://translationproject.org/latest/gcc/sv.po (This file, 'gcc-4.7-b20120128.sv.po',

Re: [4.7][SH] Binary compatibility with atomic_test_and_test_trueval != 1

2012-03-04 Thread Oleg Endo
On Sat, 2012-03-03 at 10:31 -0800, Richard Henderson wrote: > On 03/02/2012 10:11 AM, Richard Henderson wrote: > > I'm in the process of sanity testing this on x86_64 with trueval set to > > 0x80. > > Jakub, ok for 4.7 branch if it passes? > > > > * optabs.c (expand_atomic_test_and_set): Hono

Re: PATCH: Update gcc.target/i386/pr52146.c to allow $-18874240

2012-03-04 Thread Uros Bizjak
On Fri, Mar 2, 2012 at 9:24 PM, H.J. Lu wrote: > X32 may generate > >        movl    $-18874240, %eax >        movl    (%eax), %eax > > This patchs allows $-18874240.  OK for trunk? Ah, it took me a while to note the dollar sign difference. We want to prevent only: movl$0, -18874240 and no

[PATCH, i386]: Improve zero_extend patterns

2012-03-04 Thread Uros Bizjak
Hello! Attached patch improves zero_extend patterns by: - removing flags reg clobber from zero_extendsidi patterns for 32bit targets. Everything, including "movl $0, mem" can be split without using flags reg clobber. - removing intermediate *zero_extend*2_movzbl_and patterns. We do not need to rem

[Patch,AVR]: Tweak a+2*b

2012-03-04 Thread Georg-Johann Lay
This patch adds a straight forward combine pattern and split for int + 2*byte as frequently seen with accesses to int-arrays with byte offset. Ok for trunk? Johann * config/avr/avr.md (*umaddqihi4.2): New insn-and-split. Index: config/avr/avr.md ==

[Patch,AVR] PR52461: Fix RAMPZ clobbering and RAMP* in epilogue

2012-03-04 Thread Georg-Johann Lay
This patch fixes several issues with RAMP registers: * On Devices with more than 64 KiB RAM, RAMPZ is used as high-byte of RAM address. If RAMPZ is used to read flash, it must be reset to 0 after the read so that RAM-read will operate correctly in the remainder. There is no support for RAM >

Re: [fortran, patch] Fix display of locus when source contains wide characters

2012-03-04 Thread FX
> Looks OK to me except for: > >> - for (; i > 0; i--) >> + for (; i > 0;) > > Might as well just make that a while loop. Indeed! Committed with a while loop, thanks for the review! FX

Re: [fortran, patch] Fix display of locus when source contains wide characters

2012-03-04 Thread Steven Bosscher
On Sat, Mar 3, 2012 at 4:08 PM, FX wrote: > The attached patch fixes PR 36160 > (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36160). It should correctly > account for wide characters when display error loci. I'm not sure if we can > check that in the testsuite harness, but you can manually see

fix libstdc++/52433

2012-03-04 Thread Jonathan Wakely
PR libstdc++/52433 * include/debug/safe_iterator.h (_Safe_iterator): Add move constructor and move assignment operator. * testsuite/23_containers/vector/debug/52433.cc: New. Tested 'make check check-debug' on x86_64 and committed to trunk. I plan to fix this for 4.

[patch, committed] invoke.texi: copy-edit x86 sections

2012-03-04 Thread Sandra Loosemore
I noticed that the x86-specific material in invoke.texi had a lot of copy-editing problems; besides the "usual" grammar and punctuation mistakes, I cleaned up a bunch of problems in the Texinfo markup. Additionally, I corrected quite a large number of issues where incorrect names were used for