[PATCH, i386]: Remove mode of address_operand predicate from prefetch patterns

2012-09-13 Thread Uros Bizjak
Hello! The mode of address_operand predicate is ignored in ix86_legitimate_address_p. 2012-08-13 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (prefetch): Do not assert mode of operand 0. (*prefetch_sse_mode): Do not set mode of address_operand predicate. Rename

Re: [PATCH] Fix up _mm_f{,n}m{add,sub}_s{s,d} (PR target/54564)

2012-09-13 Thread Uros Bizjak
On Thu, Sep 13, 2012 at 5:52 PM, Jakub Jelinek ja...@redhat.com wrote: The fma-*.c testcase show that these intrinsics probably mean to preserve the high elements (other than the lowest) of the first argument of the fmaintrin.h *_s{s,d} intrinsics in the destination (the HW insn preserve

Re: [RFC PATCH, go]: Port to ALPHA arch - sysinfo.go fixup

2011-07-06 Thread Uros Bizjak
On Wed, Jul 6, 2011 at 7:34 PM, Ian Lance Taylor i...@google.com wrote: This seems like a reasonable patch to me, but technically speaking it is incomplete.  Go should have IEEE floating point behaviour by default.  I believe Java is the same.  Ideally there would be a target-independent way

Re: Remove unused t-* fragments

2011-07-06 Thread Uros Bizjak
On Wed, Jul 6, 2011 at 10:14 PM, Joseph S. Myers jos...@codesourcery.com wrote: This patch removes three unused t-* makefile fragments.  (t-pa is unused because no target uses it explicitly and all PA targets define nonempty tmake_file; t-$cpu_type is is only used implicitly if tmake_file is

[go]: Port to ALPHA arch - epoll problems

2011-07-07 Thread Uros Bizjak
On Tue, Jul 5, 2011 at 10:12 PM, Ian Lance Taylor i...@google.com wrote: What remains is a couple of unrelated failures in the testsuite: Epoll unexpected fd=0 pollServer: unexpected wakeup for fd=0 mode=w panic: test timed out ../../../gcc-svn/trunk/libgo/testsuite/gotest: line 388:  7123

[go]: Many valgrind errors (use of uninit value, jump depends on uninit value) in the testsuite

2011-07-07 Thread Uros Bizjak
On Tue, Jul 5, 2011 at 10:12 PM, Ian Lance Taylor i...@google.com wrote: What remains is a couple of unrelated failures in the testsuite: ../../../gcc-svn/trunk/libgo/testsuite/gotest: line 388: 13945 Segmentation fault      ./a.out -test.short -test.timeout=$timeout $@ FAIL: compress/flate

Re: Improve Solaris mudflap support (PR libmudflap/49550)

2011-07-07 Thread Uros Bizjak
Hello! diff --git a/libmudflap/testsuite/libmudflap.c/pass47-frag.c b/libmudflap/testsuite/libmudflap.c/pass47-frag.c --- a/libmudflap/testsuite/libmudflap.c/pass47-frag.c +++ b/libmudflap/testsuite/libmudflap.c/pass47-frag.c @@ -8,3 +8,5 @@ int main () tolower (buf[4]) ==

Re: [PATCH] Fix UNRESOLVED gcc.dg/graphite/pr37485.c

2011-07-07 Thread Uros Bizjak
Hello! Committed. Richard. 2011-07-07 Richard Guenther rguent...@suse.de * gcc.dg/graphite/pr37485.c: Add -floop-block. Heh, you were faster by a minute! Uros.

Re: PATCH [1/n] X32: Add initial -x32 support

2011-07-07 Thread Uros Bizjak
On Thu, Jul 7, 2011 at 2:59 PM, H.J. Lu hjl.to...@gmail.com wrote: Hi Paolo, DJ, Nathanael, Alexandre, Ralf, Is the change .        * configure.ac: Support --enable-x32.        * configure: Regenerated. diff --git a/gcc/configure.ac b/gcc/configure.ac index 5f3641b..bddabeb 100644 ---

Re: PATCH: Support -mx32 in GCC tests

2011-07-08 Thread Uros Bizjak
On Fri, Jul 8, 2011 at 1:03 AM, H.J. Lu hjl.to...@gmail.com wrote: Here is the updated patch.  I will wait for Uros's comments. I attached the wrong file.  Here is the updated patch. --- a/gcc/testsuite/g++.dg/abi/bitfield3.C +++ b/gcc/testsuite/g++.dg/abi/bitfield3.C @@ -4,7 +4,7 @@ //

[PATCH, fortran]: Fix PR 48926, gfortran.dg/coarray/image_index_1.f90 -fcoarray=single -O2 (test for excess errors)

2011-07-09 Thread Uros Bizjak
Hello! gfc_get_corank returns integer value, not bool. This problem was triggered by --enable-build-with-cxx configured build. 2011-07-09 Uros Bizjak ubiz...@gmail.com PR fortran/48926 * expr.c (gfc_get_corank): Change return value to int. * gfortran.h (gfc_get_corank

Re: [rfc, i386] Convert output_mi_thunk to rtl

2011-07-10 Thread Uros Bizjak
On Sun, Jul 10, 2011 at 3:34 AM, Richard Henderson r...@redhat.com wrote: I developed this patch while working on the dwarf2 pass series. This was before I bypassed the entire problem by removing the !deep branch prediction paths. Ideally, we'd do this generically from gimple.  Less ideally,

Re: PATCH [2/n] X32: Turn on 64bit and check models for x32

2011-07-10 Thread Uros Bizjak
On Sat, Jul 9, 2011 at 11:22 PM, H.J. Lu hongjiu...@intel.com wrote: This patch turns on 64bit and check models for x32.  OK for trunk? Thanks. H.J. --- 2011-07-09  H.J. Lu  hongjiu...@intel.com        * config/i386/i386.c (ix86_option_override_internal): Turn on        

Re: PATCH [3/n] X32: Promote pointers to Pmode

2011-07-10 Thread Uros Bizjak
On Sat, Jul 9, 2011 at 11:28 PM, H.J. Lu hongjiu...@intel.com wrote: X32 psABI requires promoting pointers to Pmode when passing/returning in registers.  OK for trunk? Thanks. H.J. -- 2011-07-09  H.J. Lu  hongjiu...@intel.com        * config/i386/i386.c (ix86_promote_function_mode):

[PATCH, i386]: ix86_trampoline_init: use offset everywhere

2011-07-11 Thread Uros Bizjak
Hello! A small cleanup, no functional change. This allows us to assert that generated code length is less than TRAMPOLINE_SIZE also for 32bit targets. 2011-07-11 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr. Use offset

Re: AMD bdver2 enablement.

2011-07-12 Thread Uros Bizjak
Hello! 2011-07-11 Harsha Jagasia harsha.jaga...@amd.com AMD bdver2 Enablement * config.gcc (i[34567]86-*-linux* | ...): Add bdver2. (case ${target}): Add bdver2. * config/i386/driver-i386.c (host_detect_local_cpu): Let -march=native recognize bdver2

Re: Use of vector instructions in memmov/memset expanding

2011-07-13 Thread Uros Bizjak
Hello! Please don't use -m32/-m64 in testcases directly. You should use /* { dg-do compile { target { ! ia32 } } } */ for 32bit insns and /* { dg-do compile { target { ia32 } } } */ for 64bit insns. Also, there is no need to add -mtune if -march is already specified. -mtune will follow

Re: PATCH [3/n] X32: Promote pointers to Pmode

2011-07-13 Thread Uros Bizjak
On Wed, Jul 13, 2011 at 3:17 PM, H.J. Lu hjl.to...@gmail.com wrote: PING. 2011-07-10  H.J. Lu  hongjiu...@intel.com        * config/i386/i386.c (ix86_promote_function_mode): New.        (TARGET_PROMOTE_FUNCTION_MODE): Likewise. You have discussed this with rth, the final approval should be

[PATCH, testsuite]: Use istarget everywhere

2011-07-13 Thread Uros Bizjak
Hello! Attached patch converts several places where string match or regexp on $target_triplet is used with istarget. The patch also removes quotes around target string. 2011-07-13 Uros Bizjak ubiz...@gmail.com * lib/g++.exp (g++_init): Use istarget. Remove target_triplet global

Re: [build] Move crtfastmath to toplevel libgcc

2011-07-14 Thread Uros Bizjak
On Thu, Jul 14, 2011 at 12:09 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: Andreas Schwab sch...@redhat.com writes: Same on ia64: Configuration mismatch! Extra parts from gcc directory: crtbegin.o crtbeginS.o crtend.o crtendS.o Extra parts from libgcc: crtbegin.o crtend.o

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-15 Thread Uros Bizjak
On Sun, Jul 10, 2011 at 12:20 AM, H.J. Lu hongjiu...@intel.com wrote: TARGET_MEM_REF only works on ptr_mode.  That means base and index parts of x86 address operand in x32 mode may be in ptr_mode.  This patch supports 32bit base and index parts in x32 mode.  OK for trunk? Thanks. H.J.

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-15 Thread Uros Bizjak
On Fri, Jul 15, 2011 at 3:03 PM, H.J. Lu hjl.to...@gmail.com wrote: On Fri, Jul 15, 2011 at 5:49 AM, Uros Bizjak ubiz...@gmail.com wrote: On Sun, Jul 10, 2011 at 12:20 AM, H.J. Lu hongjiu...@intel.com wrote: TARGET_MEM_REF only works on ptr_mode.  That means base and index parts of x86

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-15 Thread Uros Bizjak
On Fri, Jul 15, 2011 at 5:44 PM, H.J. Lu hjl.to...@gmail.com wrote: TARGET_MEM_REF only works on ptr_mode.  That means base and index parts of x86 address operand in x32 mode may be in ptr_mode.  This patch supports 32bit base and index parts in x32 mode.  OK for trunk? Thanks. H.J. ---

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-15 Thread Uros Bizjak
On Fri, Jul 15, 2011 at 6:07 PM, H.J. Lu hjl.to...@gmail.com wrote: If the first form of the address is not OK (it does not represent the hardware operation), then it should not enter into the insn stream. This means, that it should be fixed (legitimized) to second form by appropriate

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-16 Thread Uros Bizjak
On Sat, Jul 16, 2011 at 6:47 PM, H.J. Lu hjl.to...@gmail.com wrote: Yes, this is an example from PR I am referring to. Did you try to define LEGITIMIZE_RELOAD_ADDRESS? It is supposed to fix this. They make things even more complex. ix86_simplify_base_index_disp is called after reload is

[PATCH, i386]: FixPR47744; [x32] ICE: in reload_cse_simplify_operands, at postreload.c:403 [was: Re: PATCH [5/n] X32: Supprot 32bit address]

2011-07-18 Thread Uros Bizjak
142m42.522s sys7m41.875s (see PR for details). 2011-07-18 Uros Bizjak ubiz...@gmail.com PR target/47744 * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in PLUS address chains. Patch was bootstrapped on x86_64-pc-linux-gnu {,-m32

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-18 Thread Uros Bizjak
On Mon, Jul 18, 2011 at 8:39 PM, H.J. Lu hongjiu...@intel.com wrote: TARGET_MEM_REF only works on ptr_mode.   This patch allows 32bit address in x32 mode.  OK for trunk? Do you perhaps have a testcase to help in analyzing the problem? Uros.

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-18 Thread Uros Bizjak
On Mon, Jul 18, 2011 at 8:48 PM, H.J. Lu hjl.to...@gmail.com wrote: TARGET_MEM_REF only works on ptr_mode.   This patch allows 32bit address in x32 mode.  OK for trunk? Do you perhaps have a testcase to help in analyzing the problem? See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49780

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-18 Thread Uros Bizjak
On Mon, Jul 18, 2011 at 10:25 PM, H.J. Lu hjl.to...@gmail.com wrote: TARGET_MEM_REF only works on ptr_mode.   This patch allows 32bit address in x32 mode.  OK for trunk? Do you perhaps have a testcase to help in analyzing the problem? See:

Re: PATCH [5/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 1:25 PM, Richard Sandiford richard.sandif...@linaro.org wrote: On Sat, Jul 16, 2011 at 6:47 PM, H.J. Lu hjl.to...@gmail.com wrote: Yes, this is an example from PR I am referring to. Did you try to define LEGITIMIZE_RELOAD_ADDRESS? It is supposed to fix this. They

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 3:47 PM, H.J. Lu hjl.to...@gmail.com wrote: Attached patch simply removes these two checks, as it seems they are not needed. This also follows how other Pmode != ptr_mode targets. 2011-07-19  Uros Bizjak  ubiz...@gmail.com        PR target/49780        * config/i386

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 4:42 PM, H.J. Lu hjl.to...@gmail.com wrote: On Tue, Jul 19, 2011 at 7:04 AM, Uros Bizjak ubiz...@gmail.com wrote: On Tue, Jul 19, 2011 at 3:47 PM, H.J. Lu hjl.to...@gmail.com wrote: Attached patch simply removes these two checks, as it seems they are not needed

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 6:30 PM, Jakub Jelinek ja...@redhat.com wrote: On Tue, Jul 19, 2011 at 06:26:33PM +0200, Uros Bizjak wrote: Sometimes, the compiler is really creative in inventing instructions: (insn 47 46 49 7 (set (reg:SI 68 [ D.1686 ])         (subreg:SI (plus:SF (reg:SF 159 [ D

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 6:37 PM, Uros Bizjak ubiz...@gmail.com wrote: Sometimes, the compiler is really creative in inventing instructions: (insn 47 46 49 7 (set (reg:SI 68 [ D.1686 ])         (subreg:SI (plus:SF (reg:SF 159 [ D.1685 ])                 (reg:SF 159 [ D.1685 ])) 0)) omp_atomic1

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 7:33 PM, Uros Bizjak ubiz...@gmail.com wrote: Sometimes, the compiler is really creative in inventing instructions: (insn 47 46 49 7 (set (reg:SI 68 [ D.1686 ])         (subreg:SI (plus:SF (reg:SF 159 [ D.1685 ])                 (reg:SF 159 [ D.1685 ])) 0)) omp_atomic1

Re: PATCH [8/n] X32: Convert to Pmode if needed

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 6:47 AM, H.J. Lu hongjiu...@intel.com wrote: This patch adds the missing Pmode check and conversion.  OK for trunk? 2011-07-18  H.J. Lu  hongjiu...@intel.com        * config/i386/i386.c (ix86_legitimize_address): Convert to        Pmode if needed.        

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-19 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 6:30 PM, Jakub Jelinek ja...@redhat.com wrote: Sometimes, the compiler is really creative in inventing instructions: (insn 47 46 49 7 (set (reg:SI 68 [ D.1686 ])         (subreg:SI (plus:SF (reg:SF 159 [ D.1685 ])                 (reg:SF 159 [ D.1685 ])) 0))

Re: [PATCH, testsuite] Fix for PR47440 - Use LCM for vzeroupper insertion

2011-07-20 Thread Uros Bizjak
Hello! ? ? ? ?* a/gcc/gcse.c (alloc_gcse_mem): Added code to run in PRE2. And this is necessary because...??? Why not just make it a separate pass in ix86-reorg that uses LCM? Look at mode switching for an example. I was also expecting that vzeroupper would be inserted in the same way as

Re: PATCH [7/n] X32: Handle address output and calls patterns

2011-07-20 Thread Uros Bizjak
On Wed, Jul 20, 2011 at 4:51 AM, H.J. Lu hjl.to...@gmail.com wrote: I had it in my x32 tree. But I reverted: http://gcc.gnu.org/ml/gcc-patches/2011-02/msg00954.html since Pmode is used in non-PIC tablejump, we have to put 64bit value for labels with 0 upper 32bits in tablejump for x32.

Re: PATCH [7/n] X32: Handle address output and calls patterns

2011-07-20 Thread Uros Bizjak
On Wed, Jul 20, 2011 at 9:53 AM, Uros Bizjak ubiz...@gmail.com wrote: since Pmode is used in non-PIC tablejump, we have to put 64bit value for labels with 0 upper 32bits in tablejump for x32. The mode is completely controled by CASE_VECTOR_MODE. Here is the updated patch.  OK for trunk

Re: PATCH [6/n] X32: Supprot 32bit address

2011-07-20 Thread Uros Bizjak
} and committed to mainline SVN with following ChangeLog: 2011-07-20 Uros Bizjak ubiz...@gmail.com PR target/49780 * config/i386/predicates.md (no_seg_addres_operand): No more special. * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard

Re: PATCH [7/n] X32: Handle address output and calls patterns

2011-07-20 Thread Uros Bizjak
On Wed, Jul 20, 2011 at 3:18 PM, H.J. Lu hjl.to...@gmail.com wrote: On Wed, Jul 20, 2011 at 1:19 AM, Uros Bizjak ubiz...@gmail.com wrote: On Wed, Jul 20, 2011 at 9:53 AM, Uros Bizjak ubiz...@gmail.com wrote: since Pmode is used in non-PIC tablejump, we have to put 64bit value for labels

Re: PATCH [7/n] X32: Handle address output and calls patterns

2011-07-20 Thread Uros Bizjak
On Wed, Jul 20, 2011 at 4:09 PM, H.J. Lu hjl.to...@gmail.com wrote: Hello! +(define_insn *tablejump_1_x32 +  [(set (pc) (match_operand:SI 0 register_operand r)) +   (use (label_ref (match_operand 1 )))] +  TARGET_X32 +  jmp\t%A0 +  [(set_attr type ibr) +   (set_attr length_immediate 0)])

[PATCH, i386]: Allow subregs of multi-word values in addresses

2011-07-20 Thread Uros Bizjak
On Wed, Jul 20, 2011 at 9:46 PM, Uros Bizjak ubiz...@gmail.com wrote: Note that SUBREG_PROMOTED_UNSIGNED_P wasn't designed for paradoxical subregs, but for regular subregs (typically of word-sized objects).  You should check that the ones created for x32 (because of POINTERS_EXTEND_UNSIGNED I

Re: PATCH [8/n] X32: Convert to Pmode if needed

2011-07-21 Thread Uros Bizjak
On Tue, Jul 19, 2011 at 6:47 AM, H.J. Lu hongjiu...@intel.com wrote: So, since copy_to_reg co. expects x in Pmode or VOIDmode constant (due to force_reg that won't do mode conversion), we have to implement them with a mode conversion... This patch adds the missing Pmode check and conversion.  

[PATCH, i386]: Reject wrong RTXes from index early

2011-07-21 Thread Uros Bizjak
Hello! Just a small optimization, we can reject non-register RTXes and wrong subregs from index early. No functional change - these RTXes were rejected in ix86_legitimate_address_p anyway. 2011-07-21 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c (ix86_decompose_address): Reject

[PATCH, testsuite]: Introduce check_avx_os_support_available

2011-07-21 Thread Uros Bizjak
Hello! This is the same functionality as recently added to glibc [1]. 2011-07-21 Uros Bizjak ubiz...@gmail.com * lib/target-supports.exp (check_avx_os_support_available): New. (check_effective_target_avx_runtime): Use it. Tested on x86_64-pc-linux-gnu {,-m32} AVX and non-AVX

Re: PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 6:28 PM, H.J. Lu hjl.to...@gmail.com wrote: .quad  symbol isn't really valid for 32bit. Why not?  We certainly know what value to put there. x32 doesn't support 64bit relocation, like R_X86_64_64. In many causes,  generate .long symbol .long 0 for .quad symbol

Re: PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 7:24 PM, H.J. Lu hjl.to...@gmail.com wrote: On Thu, Jul 21, 2011 at 10:04 AM, Uros Bizjak ubiz...@gmail.com wrote: On Thu, Jul 21, 2011 at 6:28 PM, H.J. Lu hjl.to...@gmail.com wrote: .quad  symbol isn't really valid for 32bit. Why not?  We certainly know what value

Re: PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 6:42 PM, Richard Henderson r...@redhat.com wrote: On 07/21/2011 09:28 AM, H.J. Lu wrote: On Thu, Jul 21, 2011 at 9:23 AM, Richard Henderson r...@redhat.com wrote: On 07/21/2011 09:20 AM, H.J. Lu wrote: .quad  symbol isn't really valid for 32bit. Why not?  We certainly

Re: PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 10:00 PM, H.J. Lu hjl.to...@gmail.com wrote: /* Represents viewing something of one type as being of a second type.   This corresponds to an Unchecked Conversion in Ada and roughly to   the idiom *(type2 *)X in C.  The only operand is the value to be   viewed as being

Re: PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 10:22 PM, H.J. Lu hjl.to...@gmail.com wrote: Expand generates: (insn 8 6 9 (set (reg:SI 68)        (symbol_ref:SI () [flags 0x40]  var_decl 0x7fccc360b140 )) p r49798.c:12 -1     (nil)) (insn 9 8 10 (set (reg:DI 67)        (zero_extend:DI (reg:SI 68)))

[PATCH, testsuite]: Fix detection of ifunc support

2011-07-21 Thread Uros Bizjak
Hello! Revision 164725 [1] broke detection of ifunc support in the testsuite [2] due to extra #endif without if in the test function. Attached patch fixes this up. 2011-07-21 Uros Bizjak ubiz...@gmail.com * lib/target-supports.exp (check_ifunc_available): Fix test function. The patch

Re: [PATCH, testsuite]: Fix detection of ifunc support

2011-07-21 Thread Uros Bizjak
On Thu, Jul 21, 2011 at 11:56 PM, Uros Bizjak ubiz...@gmail.com wrote: Revision 164725 [1] broke detection of ifunc support in the testsuite [2] due to extra #endif without if in the test function. Attached patch fixes this up. Actually, we can use existing testsuite infrastructure

[PATCH, build]: Enable default_gnu_indirect_function on x86_64-*-linux*

2011-07-22 Thread Uros Bizjak
Hello! Fixing ifunc test function in the testsuite uncovered a nasty screwup in config.gcc that prohibited usage of GNU indirect functions on x86_64-*-linux*. Fixed by mirroring i[34567]86-*-linux* setting. 2011-07-22 Uros Bizjak ubiz...@gmail.com * config.gcc (i[34567]86-*-linux

Re: [PATCH, build]: Enable default_gnu_indirect_function on x86_64-*-linux*

2011-07-22 Thread Uros Bizjak
On Fri, Jul 22, 2011 at 5:27 PM, Uros Bizjak ubiz...@gmail.com wrote: Fixing ifunc test function in the testsuite uncovered a nasty screwup in config.gcc that prohibited usage of GNU indirect functions on x86_64-*-linux*. Fixed by mirroring i[34567]86-*-linux* setting. 2011-07-22  Uros

Re: [PATCH, build]: Enable default_gnu_indirect_function on x86_64-*-linux*

2011-07-22 Thread Uros Bizjak
On Fri, Jul 22, 2011 at 5:38 PM, H.J. Lu hjl.to...@gmail.com wrote: Fixing ifunc test function in the testsuite uncovered a nasty screwup in config.gcc that prohibited usage of GNU indirect functions on x86_64-*-linux*. Fixed by mirroring i[34567]86-*-linux* setting. 2011-07-22  Uros Bizjak

[PATCH, libstdc++]: Backport PR libstdc++/49293 fix to 4.6 branch

2011-07-22 Thread Uros Bizjak
Hello! This patch backports the fix to the testcase for newer glibcs to 4.6 branch. 2011-07-22 Uros Bizjak ubiz...@gmail.com Backport from mainline 2011-06-07 Paolo Carlini paolo.carl...@oracle.com PR libstdc++/49293 * testsuite/22_locale/time_get

[PATCH, i386]: Rewrite LEA handling (was:Re: PATCH [10/n] X32: Support x32 LEA insns)

2011-07-24 Thread Uros Bizjak
from PR 47381. 2011-07-24 Uros Bizjak ubiz...@gmail.com PR target/47381 * config/i386/i386.md (*lea_1): Use SWI48 mode iterator. (*lea_1_zext): New insn pattern. (add-lea splitter): Check operand modes in insn constraint. Extend operands less than SImode

Re: [PATCH, i386]: Rewrite LEA handling (was:Re: PATCH [10/n] X32: Support x32 LEA insns)

2011-07-25 Thread Uros Bizjak
and corresponding e constraints for adds in SImode, since it looks that invalid addresses can only be generated through adds. This avoids a whole bunch of new predicates and constraints. 2011-07-25 Uros Bizjak ubiz...@gmail.com PR target/47381 PR target/49832 PR target/49833

Re: [PATCH, i386]: Rewrite LEA handling (was:Re: PATCH [10/n] X32: Support x32 LEA insns)

2011-07-25 Thread Uros Bizjak
On Mon, Jul 25, 2011 at 3:30 PM, H.J. Lu hjl.to...@gmail.com wrote: Attached patch implements -fpic handling for x32. In x32 mode, we now use x86_64_general_operand and corresponding e constraints for adds in SImode, since it looks that invalid addresses can only be generated through adds.

Re: [PATCH, i386, take 2]: Rewrite LEA handling (was:Re: PATCH [10/n] X32: Support x32 LEA insns)

2011-07-25 Thread Uros Bizjak
general_operand predicated SImode operands. Fortunatelly, x86_64_general_operand works OK for x32, while both for i686 and x86_64 are unaffected due to early bypass (i686) and due to the fact that all symbols are DImode (x86_64). 2011-07-25  Uros Bizjak  ubiz...@gmail.com            H.J. Lu  hongjiu

Re: PATCH: PR target/49853: [x32] PIC doesn't work with external symbol

2011-07-26 Thread Uros Bizjak
On Tue, Jul 26, 2011 at 4:59 PM, H.J. Lu hongjiu...@intel.com wrote: This patch fixes PIC with external symbol and updates x86_64_immediate_operand/x86_64_zext_immediate_operand/x86_64_movabs_operand for x32. 2011-07-26  H.J. Lu  hongjiu...@intel.com        PR target/49853        *

Re: PATCH: PR target/49853: [x32] PIC doesn't work with external symbol

2011-07-26 Thread Uros Bizjak
On Tue, Jul 26, 2011 at 7:31 PM, H.J. Lu hjl.to...@gmail.com wrote: This patch fixes PIC with external symbol and updates x86_64_immediate_operand/x86_64_zext_immediate_operand/x86_64_movabs_operand for x32. 2011-07-26  H.J. Lu  hongjiu...@intel.com        PR target/49853        *

Re: PATCH: PR target/49853: [x32] PIC doesn't work with external symbol

2011-07-26 Thread Uros Bizjak
good to me.  Can you check it in? Please, can you test it on x32 first? I will commit it after bootstrap/regtest finish. It may need other changes for TLS support.  I can update it after your change is checked in. Committed with following ChangeLog: 2011-07-26 Uros Bizjak ubiz...@gmail.com

Re: PATCH: PR target/47372: [x32] internal compiler error: in simplify_subreg, at simplify-rtx.c:5222

2011-07-26 Thread Uros Bizjak
On Tue, Jul 26, 2011 at 10:12 PM, Jakub Jelinek ja...@redhat.com wrote: On Tue, Jul 26, 2011 at 10:05:06PM +0200, Uros Bizjak wrote: 2011-07-26  H.J. Lu  hongjiu...@intel.com        PR target/47372        * config/i386/i386.c (ix86_delegitimize_address): Call        simplify_gen_subreg

Re: PATCH: PR target/47372: [x32] internal compiler error: in simplify_subreg, at simplify-rtx.c:5222

2011-07-26 Thread Uros Bizjak
On Tue, Jul 26, 2011 at 10:33 PM, H.J. Lu hjl.to...@gmail.com wrote: On Tue, Jul 26, 2011 at 1:29 PM, Jakub Jelinek ja...@redhat.com wrote: On Tue, Jul 26, 2011 at 10:21:11PM +0200, Uros Bizjak wrote: This also works, we look at orig_x that looks like: (mem/u/c:SI (const:DI (unspec:DI

Re: [Patch, i386, testsuite] Fix for PR49547, new tescases for lzcnt instruction

2011-07-27 Thread Uros Bizjak
On Wed, Jul 27, 2011 at 9:05 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Thanks for inputs! I'll do it today. Just ine point. How AVX is connected to LZCNT features? AVX requires OS support since it has wider registers etc. LZCNT need no support from OS side, so from my point of view it

Re: PATCH: PR target/49860: [x32] Error: cannot represent relocation type BFD_RELOC_64 in x32 mode

2011-07-27 Thread Uros Bizjak
On Wed, Jul 27, 2011 at 6:31 AM, H.J. Lu hongjiu...@intel.com wrote: The offsetted memory references always work for x32.  OK for trunk? No, this is the same issue as in [1]. Please fix the assembler to zero-extend this relocation. [1] http://gcc.gnu.org/ml/gcc-patches/2011-07/msg01825.html

[PATCH, i386]: Do not explicitly check symbol_operands in ix86_expand_move

2011-07-27 Thread Uros Bizjak
Hello! There is no way symbol_operand uses non-DI or non-SI modes on x86. 2011-07-27 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes. Tested on x86_64-pc-linux-gnu {,-m32}. Committed to mainline

Re: [PATCH, i386, testsuite] New BMI testcases

2011-07-28 Thread Uros Bizjak
On Wed, Jul 27, 2011 at 11:29 PM, Jakub Jelinek ja...@redhat.com wrote: Guys, with write approval, could you please commit that? I checked it in for you. Unfortunately many of the new tests fail with old assembler, because the builtin in check_effective_target_bmi is optimized away

Re: PATCH: PR target/47364: [x32] internal compiler error: in emit_move_insn, at expr.c:3355

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 5:48 AM, H.J. Lu hongjiu...@intel.com wrote: We should only expand strlen to Pmode.  Otherwise, we got [hjl@gnu-6 ilp32-38]$ cat x.i char one[50] = ijk; int main (void) {  return __builtin_strlen (one) != 3; } [hjl@gnu-6 ilp32-38]$

Re: PATCH: PR target/47715: [x32] TLS doesn't work

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 4:55 AM, H.J. Lu hongjiu...@intel.com wrote: TLS on X32 is almost identical to TLS on x86-64.  The only difference is x32 address space is 32bit.  That means TLS symbols can be in either SImode or DImode with upper 32bit zero.  This patch updates tls_global_dynamic_64

[PATCH, i386]: Fix i386.md:5807: warning: source missing a mode?

2011-07-28 Thread Uros Bizjak
Hello! 2011-07-28 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c (add-lea splitter): Add SWI mode to PLUS RTX. Tested on x86_64-pc-linux-gnu, committed to mainline. Uros. Index: i386.md === --- i386.md (revision

Re: PATCH: PR target/47715: [x32] TLS doesn't work

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:52 AM, Uros Bizjak ubiz...@gmail.com wrote: TLS on X32 is almost identical to TLS on x86-64.  The only difference is x32 address space is 32bit.  That means TLS symbols can be in either SImode or DImode with upper 32bit zero.  This patch updates tls_global_dynamic_64

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 5:11 AM, H.J. Lu hongjiu...@intel.com wrote: In x32, thread pointer is 32bit and choice of segment register for the thread base ptr load should be based on TARGET_64BIT.  This patch implements it.  OK for trunk? -ENOTESTCASE. Uros.

Re: PING: PATCH [4/n]: Prepare x32: Permute the conversion and addition if one operand is a constant

2011-07-28 Thread Uros Bizjak
Hello! convert_memory_address_addr_space has a special PLUS/MULT case for POINTERS_EXTEND_UNSIGNED 0. ?It turns out that it is also needed for all Pmode != ptr_mode cases. ?OK for trunk? 2011-06-11 ?H.J. Lu ?hongjiu...@intel.com ? ? ? ?PR middle-end/47727 ? ? ? ?* explow.c

Re: PATCH: PR target/47364: [x32] internal compiler error: in emit_move_insn, at expr.c:3355

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:30 AM, Uros Bizjak ubiz...@gmail.com wrote: We should only expand strlen to Pmode.  Otherwise, we got [hjl@gnu-6 ilp32-38]$ cat x.i char one[50] = ijk; int main (void) {  return __builtin_strlen (one) != 3; } [hjl@gnu-6 ilp32-38]$ /export/build/gnu/gcc/build

Re: PING: PATCH [4/n]: Prepare x32: Permute the conversion and addition if one operand is a constant

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 7:59 PM, H.J. Lu hjl.to...@gmail.com wrote:  convert_memory_address_addr_space has a special PLUS/MULT case for  POINTERS_EXTEND_UNSIGNED  0. ?It turns out that it is also needed  for all Pmode != ptr_mode cases. ?OK for trunk?  2011-06-11 ?H.J. Lu

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:03 PM, H.J. Lu hjl.to...@gmail.com wrote: So, instead of huge complications with new mode iterator, just introduce two new patterns that will shadow existing ones for TARGET_X32. Like in attached (untested) patch. I tried the following patch with typos fixed.  It

Re: PATCH: PR middle-end/49721: convert_memory_address_addr_space may generate invalid new insns

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:09 PM, H.J. Lu hjl.to...@gmail.com wrote:  convert_memory_address_addr_space has a special PLUS/MULT case for  POINTERS_EXTEND_UNSIGNED  0. ?It turns out that it is also needed  for all Pmode != ptr_mode cases. ?OK for trunk?  2011-06-11 ?H.J. Lu

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:30 PM, H.J. Lu hjl.to...@gmail.com wrote: TP is 32bit in x32  For load_tp_x32, we load SImode value and zero-extend to DImode. For add_tp_x32, we are adding SImode value.  We can't pretend TP is 64bit.  load_tp_x32 and add_tp_x32 must take SImode TP. I will see

Re: PATCH: PR middle-end/49721: convert_memory_address_addr_space may generate invalid new insns

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:32 PM, H.J. Lu hjl.to...@gmail.com wrote:  convert_memory_address_addr_space has a special PLUS/MULT case for  POINTERS_EXTEND_UNSIGNED  0. ?It turns out that it is also needed  for all Pmode != ptr_mode cases. ?OK for trunk?  2011-06-11 ?H.J. Lu

Re: PATCH: PR target/47766: [x32] -fstack-protector doesn't work

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 8:13 PM, H.J. Lu hongjiu...@intel.com wrote: This patch adds x32 support to UNSPEC_SP_XXX patterns.  OK for trunk? http://gcc.gnu.org/contribute.html#patches Uros.

Re: PATCH: PR target/47766: [x32] -fstack-protector doesn't work

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 9:03 PM, H.J. Lu hjl.to...@gmail.com wrote: This patch adds x32 support to UNSPEC_SP_XXX patterns.  OK for trunk? http://gcc.gnu.org/contribute.html#patches Sorry. I should have mentioned testcase in: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47766 Actually,

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-28 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 10:15 PM, H.J. Lu hjl.to...@gmail.com wrote: TP is 32bit in x32  For load_tp_x32, we load SImode value and zero-extend to DImode. For add_tp_x32, we are adding SImode value.  We can't pretend TP is 64bit.  load_tp_x32 and add_tp_x32 must take SImode TP. Here is the

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-28 Thread Uros Bizjak
On Fri, Jul 29, 2011 at 12:28 AM, H.J. Lu hjl.to...@gmail.com wrote: TP is 32bit in x32  For load_tp_x32, we load SImode value and zero-extend to DImode. For add_tp_x32, we are adding SImode value.  We can't pretend TP is 64bit.  load_tp_x32 and add_tp_x32 must take SImode TP. Here is the

Re: PATCH: PR target/47715: [x32] Use SImode for thread pointer

2011-07-29 Thread Uros Bizjak
On Thu, Jul 28, 2011 at 3:24 PM, H.J. Lu hjl.to...@gmail.com wrote: In x32, thread pointer is 32bit and choice of segment register for the thread base ptr load should be based on TARGET_64BIT.  This patch implements it.  OK for trunk? -ENOTESTCASE. There is no standalone testcase.  The

PATCH, v2: PR target/47715: [x32] Use SImode for thread pointer

2011-07-29 Thread Uros Bizjak
Hello! ABI specifies that TP is loaded in ptr_mode. Attached patch implements this requirement. 2011-07-29 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (*load_tp_x32): New. (*load_tp_x32_zext): Ditto. (*add_tp_x32): Ditto. (*add_tp_x32_zext): Ditto

PATCH, v2: PR target/47715: [x32] Use SImode for thread pointer

2011-07-29 Thread Uros Bizjak
[ For some reason this post didn't reach gcc-patches@ ML archives... ] Hello! ABI specifies that TP is loaded in ptr_mode. Attached patch implements this requirement. 2011-07-29  Uros Bizjak  ubiz...@gmail.com        * config/i386/i386.md (*load_tp_x32): New.        (*load_tp_x32_zext): Ditto

Re: PATCH: PR target/47715: [x32] TLS doesn't work

2011-07-29 Thread Uros Bizjak
to support x32.  OK for trunk? Please also change 64bit GNU2_TLS patterns, so -mtls-dialect=gnu2 will also work.  Please see attached patch. Yes, it works.  Can you apply it? This is what I have committed: 2011-07-28 Uros Bizjak ubiz...@gmail.com PR target/47715 * config

[PATCH, i386]: Re-define pic_32bit_operand back to define_predicate

2011-07-29 Thread Uros Bizjak
Hello! With recent developments, there is no need for pic_32bit_operand to be defined as special predicate with explicit mode checks anymore. Implicit mode checks (including VIODmode bypass) of normal predicates work OK now. 2011-07-28 Uros Bizjak ubiz...@gmail.com * config/i386

[PATCH, i386]: Remove tp_or_register_operand predicate

2011-07-29 Thread Uros Bizjak
Hello! tp_or_register_operand predicate is not used. 2011-07-29 Uros Bizjak ubiz...@gmail.com * config/i386/predicates.md (tp_or_register_operand): Remove predicate. Tested on x86_64-pc-linux-gnu, committed to mainline SVN. Uros. Index: predicates.md

Re: PATCH: [x32]: Check TARGET_LP64 for SIZE_TYPE/PTRDIFF_TYPE

2011-07-30 Thread Uros Bizjak
On Sat, Jul 30, 2011 at 12:41 AM, H.J. Lu hongjiu...@intel.com wrote: X32 is 32bit.  This patch checks TARGET_LP64 for SIZE_TYPE/PTRDIFF_TYPE. OK for trunk? OK, if tested on x32. You didn't say how the patch was tested. Thanks, Uros.

[PATCH, testsuite]: Remove .exe.???t.* and .exe.ltrans0.???t.* files from testsuite dir

2011-07-31 Thread Uros Bizjak
Hello! 2011-07-31 Uros Bizjak ubiz...@gmail.com * lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and .exe.ltrans0. dump files. Tested on x64-pc-linux-gnu. OK for mainline? Uros. Index: lib/gcc-dg.exp

Re: [PATCH, testsuite]: Remove .exe.???t.* and .exe.ltrans0.???t.* files from testsuite dir

2011-07-31 Thread Uros Bizjak
On Sun, Jul 31, 2011 at 11:39 AM, Richard Guenther richard.guent...@gmail.com wrote: 2011-07-31  Uros Bizjak  ubiz...@gmail.com        * lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and .exe.ltrans0.        dump files. Tested on x64-pc-linux-gnu. OK for mainline? I think you need

[PATCH, testsuite]: Prevent stale dump files in testsuite directory

2011-07-31 Thread Uros Bizjak
Hello! 2011-07-31 Uros Bizjak ubiz...@gmail.com * gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only. * gcc.dg/tree-ssa/pr23109.c: Ditto. * gcc.dg/tree-ssa/loop-7.c: Ditto. * gcc.dg/tree-ssa/loop-32.c: Ditto. * gcc.dg/tree-ssa/loop-33.c: Ditto

[PATCH, i386]: Fix PR49920, unable to find a register to spill in class ‘DIREG’

2011-07-31 Thread Uros Bizjak
conditionally disables these as well. 2011-07-31 Uros Bizjak ubiz...@gmail.com PR target/49920 * config/i386/i386.md (strset): Do not expand strset_singleop when %eax or $edi are fixed. (*strsetdi_rex_1): Disable when %eax or %edi are fixed. (*strsetsi_1): Ditto

Re: [Patch, i386, testsuite] Fix for PR49547, new tescases for lzcnt instruction

2011-08-01 Thread Uros Bizjak
On Mon, Aug 1, 2011 at 10:21 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Okay, then here is an updated patch updated ChangeLog entry: 2011-07-26  Kirill Yukhin  kirill.yuk...@intel.com        PR target/49547        * config.gcc (i[34567]86-*-*): Replace abmintrin.h with        

[PATCH, i386]: Fix PR49927, ice in spill_failure, at reload1.c:2120

2011-08-01 Thread Uros Bizjak
. testsuite/ChangeLog: 2011-08-01 Uros Bizjak ubiz...@gmail.com PR target/49927 * gcc.target/i386/pr49927.c: New test. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN. Uros. Index: config/i386/i386.c

<    5   6   7   8   9   10   11   12   13   14   >