[PATCH, build]: Remove -Wno-warning from expmed.c compilation

2013-10-02 Thread Uros Bizjak
Hello! Compiling expmed.c has been warning free for some time now. 2013-10-02 Uros Bizjak * Makefile.in (expmed.o-warn): Remove. Bootstrapped on x86_64-pc-linux-gnu. OK for mainline? Uros. Index: Makefile.in

Re: [i386] recognize haddpd

2012-09-28 Thread Uros Bizjak
On Wed, Sep 26, 2012 at 5:16 PM, Marc Glisse wrote: > Adding an x86 maintainer in Cc: >>> this patch passes bootstrap+testsuite. It is probably wrong in many ways, >>> but I don't know enough to do more without some advice. >>> >>> The goal is to recognize that v[0]+v[1] can be computed with hadd

Re: [PATCH v2, rtl-optimization]: Fix PR54457, [x32] Fail to combine 64bit index + constant

2012-09-28 Thread Uros Bizjak
On Thu, Sep 27, 2012 at 8:20 PM, Jakub Jelinek wrote: > On Thu, Sep 27, 2012 at 08:04:58PM +0200, Uros Bizjak wrote: >> After some off-line discussion with Richard, attached is v2 of the patch. >> >> 2012-09-27 Uros Bizjak >> >> PR rtl-optimization/

Re: [PATCH] Fix instability of -fschedule-insn for x86

2012-09-30 Thread Uros Bizjak
On Tue, Sep 18, 2012 at 1:31 PM, Uros Bizjak wrote: >> This patch aims to fix all stability issues related to using the first >> scheduler in gcc >> for x86 target (there several reported issues related to this problem). >> >> Main idea of this activity is mostly to

Re: [PATCH] Changes in mode switching

2012-09-30 Thread Uros Bizjak
On Thu, Sep 20, 2012 at 8:35 AM, Uros Bizjak wrote: > On Thu, Sep 20, 2012 at 8:06 AM, Vladimir Yakovlev > wrote: >> The compiler with the patch and without post_reload.patch is built and works >> successfully. It has the only failure with avx-vzeroupper-3 test because of >

[PATCH, i386]: Fix spurious testsuite failure in gcc.target/i386/pad-10.c

2012-09-30 Thread Uros Bizjak
, %esi je .L8 ret 2012-09-30 Uros Bizjak * gcc.target/i386/pad-10.c (foo2): Return x - z. Tested on x86_64-pc-linux-gnu, committed to mainline SVN. Uros. Index: gcc.target/i386/pad-10.c === --- gcc.target

[PATCH, libbacktrace]: Compile with -fasynchronous-unwind-tables

2012-10-01 Thread Uros Bizjak
this change, btest passes OK, failing log and runtime/pprof from libgo testsuite also pass OK. BTW: It would be enough to compile only backtrace.c and simple.c with -fasynchronous-unwind-tables, since critical wrapper functions live here. 2012-10-01 Uros Bizjak PR other/54761

[PATCH v2, libbacktrace]: Compile with -funwind-tables

2012-10-02 Thread Uros Bizjak
ables option. I have simplified the check for -funwind-tables to just look if the library is compiled with gcc. This option is supported by gcc-2.96 (and probably earlier versions too). 2012-10-02 Uros Bizjak PR other/54761 * configure.ac (CFLAGS): Add -funwind-tables when co

[PATCH, libitm]: A couple of trivial x86 changes

2012-10-02 Thread Uros Bizjak
Hello! 2012-10-02 Uros Bizjak * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more. * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code. Tested on x86_64-pc-linux-gnu, committed to mainline SVN. Uros. Index: config

Re: [PATCH v2, libbacktrace]: Compile with -funwind-tables

2012-10-02 Thread Uros Bizjak
to AM_CFLAGS. CFLAGS is reserved for the user to override. Thanks, attached is a version that introduces EXTRA_FLAGS instead. 2012-10-02 Uros Bizjak PR other/54761 * configure.ac (EXTRA_FLAGS): New. * Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS). * configure,

Re: [PATCH] Changes in mode switching

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 11:35 AM, Vladimir Yakovlev wrote: The compiler with the patch and without post_reload.patch is built and works successfully. It has the only failure with avx-vzeroupper-3 test because of post reload problem. >>> >>> Ok, can you please elaborate a bit on

Re: [PATCH] Changes in mode switching

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 12:08 PM, Vladimir Yakovlev wrote: > Will we wait for LRA commit or is it possiple to commit to trank > vzeroupper patch now? Since we can emit vzeroupper now, we will wait for LRA. Uros.

Re: [PATCH v2, libbacktrace]: Compile with -funwind-tables

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 3:08 PM, Ian Lance Taylor wrote: >> 2012-10-02 Uros Bizjak >> >> PR other/54761 >> * configure.ac (EXTRA_FLAGS): New. >> * Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS). >> * configure, Makefile.in:

Re: [PATCH v2, libbacktrace]: Compile with -funwind-tables

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 7:44 PM, Gabriel Dos Reis wrote: >>> > On a related issue, it looks to me that the compiler itself should be >>> > compiled with -funwind-tables, otherwise there are no backtraces >>> > generated, even if libbacktrace is linked in and operational. Again, >>> > x86_64-linux-

Re: PATCH: PR target/54741: Check SSE and YMM state support for -march=native

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 9:35 PM, H.J. Lu wrote: > This patch checks SSE and YMM state support for -march=native. Tested > on Linux/x86-64. OK to install? > > 2012-10-02 H.J. Lu > > PR target/54741 > * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New. > (XSTA

Re: PATCH: PR target/54785: Document -mprefer-avx128

2012-10-02 Thread Uros Bizjak
On Tue, Oct 2, 2012 at 11:01 PM, H.J. Lu wrote: > > This patch documents -mprefer-avx128. OK for trunk and 4.7? > > 2012-10-02 H.J. Lu > > PR target/54785 > * doc/invoke.texi: Document -mprefer-avx128. OK everywhere. Thanks, Uros.

[PATCH, build]: Compile with -fasynchronous-unwind-tables

2012-10-02 Thread Uros Bizjak
STRTAB 05282212 0184 0 0 1 [40] .symtab SYMTAB 05282e18 000a1160 0018 41 19147 8 [41] .strtab STRTAB 000

Re:[libbacktrace] Use getexecname() on Solaris

2012-10-05 Thread Uros Bizjak
Hello! > With the strnlen-related Go failures now gone on Solaris, another issue > crept up: several tests were failing like this: > > throw: /proc/self/exe > > goroutine 4 [running]: > panic during panic > FAIL: log > > This is due to the hardcoded use of /proc/self/exe in libbacktrace, > which d

Re: [i386] recognize haddpd

2012-10-08 Thread Uros Bizjak
On Mon, Oct 8, 2012 at 4:40 PM, Marc Glisse wrote: > On Fri, 28 Sep 2012, Uros Bizjak wrote: > >>>>> 2) {v[0]-v[1], v[0]-v[1]} is not recognized as a hsubpd because >>>>> vec_duplicate doesn't match vec_concat. Do we really need to duplicate >>>&g

Re: [i386] recognize haddpd

2012-10-08 Thread Uros Bizjak
On Mon, Oct 8, 2012 at 6:08 PM, Uros Bizjak wrote: >> +(define_insn "*sse3_haddv2df3" >>[(set (match_operand:V2DF 0 "register_operand" "=x,x") >> (vec_concat:V2DF >> - (plusminus:DF >> + (plus:DF >>

Re: [i386] recognize haddpd

2012-10-08 Thread Uros Bizjak
On Mon, Oct 8, 2012 at 9:36 PM, Marc Glisse wrote: > On Mon, 8 Oct 2012, Uros Bizjak wrote: > >> You missed the most important sseadd1 addition, the one that prevents >> checking of operand2 when calculating "memory" attribute: >> >> (and (eq_attr

[PATCH, i386]: Merge a couple of attributes in atom.md

2012-10-08 Thread Uros Bizjak
Hello! 2012-10-08 Uros Bizjak * config/i386/atom.md (atom_sse_4): Merge atom_sse_attr attibutes. (atom_sse_5): Ditto. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN. Uros. Index: config/i386/atom.md

[PATCH, libstdc++]: Avoid recent libstdc++-abi/abi_check failure

2012-10-08 Thread Uros Bizjak
Hello! 2012-10-09 Uros Bizjak * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7. Tested on x86_64-pc-linux-gnu. OK for mainline? Uros. Index: testsuite/util/testsuite_abi.cc === --- testsuite/util

RE: [Patch] Fix PR53397

2012-10-10 Thread Uros Bizjak
Hello! >> +2012-10-09 Venkataramanan Kumar >> + >> +PR testsuite/53397 >> +* gcc/testsuite/gcc.dg: Remove test cases pr53397-1.c and pr53397-2.c >> +they are moved to gcc.target/i386 as they are specific to i386/x86_64. >> +* gcc/testsuite/gcc.target/i386/pr53397-1.c: New test >

[PATCH, i386]: Use mxcsr register to set SFP rounding mode for 64bit targets

2012-10-10 Thread Uros Bizjak
Hello! For 64bit targets, we can use mxcsr register to set soft-FP rounding mode. 2012-10-10 Uros Bizjak * config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ... * config/i386/32/sfp

[PATCH, testsuite]: Tweak obj-c++ TLS errors

2012-10-11 Thread Uros Bizjak
Hello! Recent commit changed various c++ TLS errors. Following patch tweaks obj-c++ testcase accordingly. 2012-10-11 Uros Bizjak * obj-c++.dg/tls/init-2.mm: Tweak errors. Tested on alphaev68-pc-linux-gnu, committed to mainline SVN. Uros. Index: obj-c++.dg/tls/init-2.mm

[PATCH, i386]: Use SSE insns to generate soft-fp exceptions for 64bit targets only

2012-10-11 Thread Uros Bizjak
Hello! For 32bit targets, there is no guarantee that mxcsr register will be set up correctly w.r.t. unmasked FP exceptions, so don't use SSE instructions to generate INVALID and DIVZERO FP exceptions. 2012-10-10 Uros Bizjak * config/i386/sfp-exceptions.c (__sfp_handle_excep

Re: [PATCH, i386]: AMD bdver3 enablement

2012-10-11 Thread Uros Bizjak
On Thu, Oct 11, 2012 at 9:19 AM, Gopalasubramanian, Ganesh wrote: > The attached patch (Patch.txt) enables the next version of AMD's bulldozer > core. Please handle new sseshuf type attribute in various attribute calculations. You should at least add it to unit attribute calculation, but please

[PATCH, alpha]: Trivial alpha.md macroizations, part 2

2012-10-11 Thread Uros Bizjak
Hello! 2012-10-11 Uros Bizjak * config/alpha/alpha.md (IMODE): New mode iterator. (I124MODE): Ditto. (I248MODE): Ditto. (modesuffix): Handle QI and HI modes. (zero_extendqi2): Macroize insn from zero_extendqi{hi,si,di}2 using I248MODE mode

[PATCH, alpha]: Trivial alpha.md macroizations, part 3

2012-10-12 Thread Uros Bizjak
Hello! 2012-10-12 Uros Bizjak * config/alpha/alpha.md (vecmodesuffix): New mode attribute. (modesuffix): Handle V8QI and V4HI modes. (any_maxmin): New code iterator. (maxmin): New code attribute. (3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3

Re: [RFC] find_reloads_subreg_address rework triggers i386 back-end issue

2012-10-13 Thread Uros Bizjak
On Fri, Oct 12, 2012 at 7:57 PM, Ulrich Weigand wrote: > Hello, > > I was running a couple of tests on various platforms in preparation > of getting the find_reload_subreg_address patch needed by aarch64 upstream: > http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01421.html > > This unfortunately unc

[PATCH, alpha]: Trivial alpha.md macroizations, part 5

2012-10-13 Thread Uros Bizjak
Hello! 2012-10-13 Uros Bizjak * config/alpha/alpha.md (I24MODE): New mode iterator. (any_divmod): New code iterator. (si3): Macroize expander from {div,mod,udiv,umod}si3 using any_divmod code iterator. (si3): Macroize expander from {div,mod,udiv,umod

Re: [i386] scalar ops that preserve the high part of a vector

2012-10-14 Thread Uros Bizjak
On Sat, Oct 13, 2012 at 10:52 AM, Marc Glisse wrote: > Hello, > > this patch provides an alternate pattern to let combine recognize scalar > operations that preserve the high part of a vector. If the strategy is all > right, I could do the same for more operations (mul, div, ...). Something > simi

[PATCH, alpha]: Remove empty predicates and/or constraints from .md files

2012-10-14 Thread Uros Bizjak
Hello! 2012-10-14 Uros Bizjak * config/alpha/alpha.md: Remove empty predicates and/or constraints. * config/alpha/sync.md: Ditto. Tested on alphaev68-pc-linux-gnu, committed to mainline SVN. Uros. a.diff.txt.gz Description: GNU Zip compressed data

Re: [RFC] find_reloads_subreg_address rework triggers i386 back-end issue

2012-10-15 Thread Uros Bizjak
On Mon, Oct 15, 2012 at 6:39 PM, Ulrich Weigand wrote: >> On Fri, Oct 12, 2012 at 7:57 PM, Ulrich Weigand wrote: >> > I was wondering if the i386 port maintainers could have a look at this >> > pattern. Shouldn't we really have two patterns, one to *load* an unaligned >> > value and one to *sto

[PATCH, i386]: Split unaligned SSE move to unaligned load/store (Was: [RFC] find_reloads_subreg_address rework triggers i386 back-end issue)

2012-10-15 Thread Uros Bizjak
FAIL: gcc.target/i386/avx256-unaligned-store-4.c scan-assembler > avx_movups256/2 > But I guess these tests simply need to be updated for the new pattern names.) 2012-10-15 Uros Bizjak * config/i386/sse.md (UNSPEC_MOVU): Remove. (UNSPEC_LOADU): New. (UNSPEC_STOR

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-18 Thread Uros Bizjak
On Thu, Oct 18, 2012 at 11:16 AM, Alexander Ivchenko wrote: > Hi, > > this patch adds new intrinsics for fxsave, fxsave64, xsave, xsave64, > xsaveopt and xsaveopt64 instructions > > Bootstrapped on x86-64 > > Is it ok for trunk? > > Changelog entry: > 2012-10-16 Alexander Ivchenko > > *

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-18 Thread Uros Bizjak
On Thu, Oct 18, 2012 at 5:45 PM, Uros Bizjak wrote: > On Thu, Oct 18, 2012 at 11:16 AM, Alexander Ivchenko > wrote: >> Hi, >> >> this patch adds new intrinsics for fxsave, fxsave64, xsave, xsave64, >> xsaveopt and xsaveopt64 instructions >> >> Boots

[PATCH, i386]: Cleanup rdpmc, rdtsc and rdtscp handling

2012-10-18 Thread Uros Bizjak
Hello! Attached patch moves a pack of duplicated code from i386.md to i386.c. No functional change. 2012-10-18 Uros Bizjak * config/i386/i386.md (rdpmc): Remove expander. (rdtsc): Ditto. (rdtscp): Ditto. (rdpmc): Rename from *rdpmc. (rdpmc_rex64

[PATCH, i386]: Fix length attribute calculation for LEA and addr32 addresses

2012-10-21 Thread Uros Bizjak
length calculation. We have to look at the mode of base or index _register_ of decomposed address, since addr32 prefix is emitted only when registers are used in the address. Note, that we never emit addr32 prefix for LEA insns. 2012-10-21 Uros Bizjak * config/i386/i386-protos.h

[PATCH, i386]: Fix length attribute calculation for LEA and addr32 addresses, some improvements

2012-10-22 Thread Uros Bizjak
Hello! We don't need to check for REG_P on base and index, we are sure that non-null RTXes are registers only. Also, we should determine the mode of RTXes in addr32 calculation from original RTXes. 2012-10-22 Uros Bizjak * config/i386/i386.c (memory_address_length): Assert tha

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-22 Thread Uros Bizjak
On Mon, Oct 22, 2012 at 5:25 PM, Alexander Ivchenko wrote: > Please take a look at the updated patch. There is, thanks to Uros, changed > expander and asm patterns. > > Considering H.J.'s comments: > > 1) Yes, I added new option -mxsaveopt > 2) No.The FXSAVE and FXRSTOR instructions are not consid

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-23 Thread Uros Bizjak
On Tue, Oct 23, 2012 at 12:14 PM, Alexander Ivchenko wrote: > Please take a look at the attached patch. > > I changed the asm-pattern implementation according to your recomendation. > Changed the name of feature option from -mfxsave to -mfxsr, as it is in > Intel SDM. Corrected the arguments name

Re: Additional fix for pre-reload schedule on x86 targets.

2012-10-23 Thread Uros Bizjak
On Tue, Oct 23, 2012 at 1:38 PM, Yuri Rumyantsev wrote: > This fix is aimed to remove stability issues with using pre-reload > scheduler for x86 targets caused by cross-block motion of function > arguments passed in likely-spilled HW registers. We found one more > issue in a process of more detai

Re: libgo patch committed: Update to current Go library

2012-10-23 Thread Uros Bizjak
Hello! > I have committed a patch to update the mainline version of libgo to the > current master Go library sources. At this point I will only be > updating the gcc 4.7 branch for bug fixes. > > This is a substantial patch that brings in several months of work. As > usual I am not posting the c

Re: LRA has been merged into trunk.

2012-10-23 Thread Uros Bizjak
Hello! > Hi, I was going to merge LRA into trunk last Sunday. It did not happen. LRA > was actively changed last 4 weeks by implementing reviewer's proposals which > resulted in a lot of new LRA regressions on GCC testsuite in comparison with > reload. Finally, they were fixed and everything lo

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Tue, Oct 23, 2012 at 8:09 PM, Ian Lance Taylor wrote: > On Tue, Oct 23, 2012 at 10:47 AM, Uros Bizjak wrote: >> >> Additional test fails on alphaev68-linux-gnu: >> >> --- FAIL: TestPassFD (0.15 seconds) >> passfd_test.go:62: FileConn: dup: Bad file de

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 10:01 AM, Uros Bizjak wrote: > On Tue, Oct 23, 2012 at 8:09 PM, Ian Lance Taylor wrote: >> On Tue, Oct 23, 2012 at 10:47 AM, Uros Bizjak wrote: >>> >>> Additional test fails on alphaev68-linux-gnu: >>> >>> --- FAIL: Te

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 10:01 AM, Uros Bizjak wrote: >>> Additional test fails on alphaev68-linux-gnu: >>> >>> --- FAIL: TestPassFD (0.15 seconds) >>> passfd_test.go:62: FileConn: dup: Bad file descriptor >>> FAIL >>> FAIL: syscall &g

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 10:22 AM, Florian Weimer wrote: >>> Is it OK to call dup on the same FD the second time? >> >> >> To answer my own question: >> >> dup(4) = 9 >> ... >> close(9)= 0 >> dup(4) =

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 12:52 PM, H.J. Lu wrote: >> Please take a look at the attached patch. >> >> I changed the asm-pattern implementation according to your recomendation. >> Changed the name of feature option from -mfxsave to -mfxsr, as it is in >> Intel SDM. Corrected the arguments name in the

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 1:06 PM, Uros Bizjak wrote: >>> Please take a look at the attached patch. >>> >>> I changed the asm-pattern implementation according to your recomendation. >>> Changed the name of feature option from -mfxsave to -mfxsr, as it is in &g

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 2:18 PM, Andreas Schwab wrote: > Uros Bizjak writes: > >> To answer my own question: >> >> dup(4) = 9 >> ... >> close(9)= 0 >> dup(4)

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 3:10 PM, Ian Lance Taylor wrote: > On Wed, Oct 24, 2012 at 5:31 AM, Uros Bizjak wrote: >> On Wed, Oct 24, 2012 at 2:18 PM, Andreas Schwab >> wrote: >>> Uros Bizjak writes: >>> >>>> To answer my own question: >>

Re: [PATCH] Replace const_vector with match_operand in sse.md

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 3:01 PM, Andrey Turetskiy wrote: > On Tue, Oct 23, 2012 at 2:45 PM, Andrey Turetskiy > wrote: >> Hi, >> >> This patch replaces large const_vector constructions with >> match_operand in sse.md to decrease its size. >> Is it ok? No, you don't have to touch generic expand m

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 4:30 PM, Ian Lance Taylor wrote: > On Wed, Oct 24, 2012 at 6:19 AM, Uros Bizjak wrote: >> On Wed, Oct 24, 2012 at 3:10 PM, Ian Lance Taylor wrote: >>> On Wed, Oct 24, 2012 at 5:31 AM, Uros Bizjak wrote: >>>> On Wed, Oct 24, 2012 at 2:18 P

Re: libgo patch committed: Update to current Go library

2012-10-24 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 7:46 PM, Ian Lance Taylor wrote: > On Wed, Oct 24, 2012 at 9:34 AM, Uros Bizjak wrote: >> >> Continuing. >> [New Thread 0x2000307b280 (LWP 8059)] >> >> Breakpoint 18, 0x020002e378c0 in socketpair () from /lib/libc.so.6.1 >> >

Re: [PATCH] Intrinsics for fxsave[,64], xsave[,64], xsaveopt[,64]

2012-10-26 Thread Uros Bizjak
On Wed, Oct 24, 2012 at 1:06 PM, Uros Bizjak wrote: > On Wed, Oct 24, 2012 at 12:52 PM, H.J. Lu wrote: >>> Please take a look at the attached patch. >>> >>> I changed the asm-pattern implementation according to your recomendation. >>> Changed the name of

[PATCH, i386]: Use __builtin_ia32_fxsave in crtfastmath.c

2012-10-26 Thread Uros Bizjak
Hello! Attached patch introduces __builtin_ia32_fxsave to crtfastmath.c. In addition, it clears only fxsave.mxcsr_mask, as we will look at this field only. Also, we don't have to execute additional stmxcsr, since fxsave also saves this register. 2012-10-26 Uros Bizjak * config

[PATCH, testsuite]: Add a testcase for PR34283, RA problem fixed by LRA

2012-10-27 Thread Uros Bizjak
Hello! Attached patch adds a testcase for RA problem that was fixed by LRA. 2012-10-27 Uros Bizjak PR target/34283 * gcc.target/i386/pr34283.c: New test. Tested on x86_64-pc-linux-gnu, committed to mainline SVN. Uros. Index: gcc.target/i386/pr34283.c

[RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-27 Thread Uros Bizjak
when to-be-removed pattern triggers, with the intention that these patterns wil be removed entirely (An "invalid" pattern was indeed generated elsewhere, see patch). 2012-10-18 Uros Bizjak * config/i386/i386.md (ashift to lea splitter): Split to SImode mult. (simple

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-28 Thread Uros Bizjak
;>> and MULT operators. I have attached RFC prototype patch that will >>> trigger an ICE when to-be-removed pattern triggers, with the intention >>> that these patterns wil be removed entirely (An "invalid" pattern was >>> indeed generated elsewhere, se

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-28 Thread Uros Bizjak
On Sun, Oct 28, 2012 at 9:57 AM, Uros Bizjak wrote: > On Sun, Oct 28, 2012 at 2:37 AM, H.J. Lu wrote: > >>>> As suggested by Richard S. [1], after the patch that converts subreg:M >>>> (op:N (...)(...)) to op:M (subreg:M (...) subreg:M (...)), we can >>>&

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-29 Thread Uros Bizjak
see patch). I have committed following version that avoids all failures, reported by H.J.: 2012-10-29 Uros Bizjak * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg to generate SImode equivalent of address, zero-extended with AND RTX. * config/i386/i386.

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-29 Thread Uros Bizjak
On Mon, Oct 29, 2012 at 9:07 AM, Uros Bizjak wrote: >>>> As suggested by Richard S. [1], after the patch that converts subreg:M >>>> (op:N (...)(...)) to op:M (subreg:M (...) subreg:M (...)), we can >>>> remove several peephole2 patterns that handle subregs of

Re: [RFC PATCH, i386]: Remove peephole2s for (subreg (operator (...)(...))) RTXes

2012-10-29 Thread Uros Bizjak
On Mon, Oct 29, 2012 at 10:06 AM, Uros Bizjak wrote: >>>>> As suggested by Richard S. [1], after the patch that converts subreg:M >>>>> (op:N (...)(...)) to op:M (subreg:M (...) subreg:M (...)), we can >>>>> remove several peephole2 patterns that

[PATCH, i386]: Simplify AND-extended address decomposition

2012-10-29 Thread Uros Bizjak
Hello! Since we use simplify_gen_subreg on address part, we can use it for DImode subreg of SImode address as well. simplify_gen_subreg knows how to strip subreg. 2012-10-29 Uros Bizjak * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg for all addresses

Re: RFA: patch to fix PR55116

2012-10-29 Thread Uros Bizjak
On 12-10-29 12:21 PM, Richard Sandiford wrote: > Vladimir Makarov writes: >>H.J. in >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55116 >> >>reported an interesting address >> >>> (and:DI (subreg:DI (plus:SI (ashift:SI (reg:SI 96 [ glob_vol_int.22 ]) >> (const_int 2 [0

Re: [PATCH] Replace const_vector with match_operand in sse.md

2012-10-30 Thread Uros Bizjak
On Tue, Oct 30, 2012 at 3:47 PM, Andrey Turetskiy wrote: > I changed the patch according Uros' remarks. Please, have a look. > > Changelog: > > 2012-10-30 Andrey Turetskiy > >* config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 > to >CODE_FOR_avx2_pmulhrswv16h

Re: [PATCH] Replace const_vector with match_operand in sse.md

2012-10-30 Thread Uros Bizjak
On Tue, Oct 30, 2012 at 6:53 PM, Andrey Turetskiy wrote: > Thanks for explanation, I understand it. > I fixed issue which you marked. Changelog is unchanged. > >>> I changed the patch according Uros' remarks. Please, have a look. >>> >>> Changelog: >>> >>> 2012-10-30 Andrey Turetskiy >>> >>>

[PATCH, build]: Update x-i386 and x-alpha for automatic dependencies

2013-10-02 Thread Uros Bizjak
Hello! 2013-10-02 Uros Bizjak * config/i386/x-i386 (driver-i386.o): Remove header dependencies. Use $(COMPILE) and $(POSTCOMPILE). * config/alpha/x-alpha (driver-alpha.o): Ditto. Bootstrapped on x86_64-pc-linux-gnu and alphaev68-pc-linux-gnu, committed to mainline SVN. Uros

Re: [PATCH, build]: Remove -Wno-warning from expmed.c compilation

2013-10-02 Thread Uros Bizjak
On Wed, Oct 2, 2013 at 1:55 PM, Uros Bizjak wrote: > Compiling expmed.c has been warning free for some time now. As discussed briefly on IRC: let's try -Werror and see which target will break. Committed to mainline. Uros.

[PATCH, build]: Update x-linux and t-linux-android for automatic dependencies

2013-10-02 Thread Uros Bizjak
Hello! 2013-10-02 Uros Bizjak * config/x-linux (host-linux.o): Remove header dependencies. Use $(COMPILE) and $(POSTCOMPILE). * config/t-linux-android (linux-android.o): Ditto. Bootstrapped on x86_64-pc-linux-gnu and committed to mainline. Uros. Index: config/t-linux-android

[PATCH]: Fix PR58542, Arguments of __atomic_* functions are converted in unsigned mode

2013-10-08 Thread Uros Bizjak
Hello! As shown in the attached testcase, arguments of various __atomic builtins should be converted as signed, so the immediates get properly extended. 2013-10-08 Uros Bizjak * optabs.c (maybe_emit_atomic_exchange): Convert operands as signed. (maybe_emit_sync_lock_test_and_set

Re: [PATCH]: Fix PR58542, Arguments of __atomic_* functions are converted in unsigned mode

2013-10-09 Thread Uros Bizjak
On Wed, Oct 9, 2013 at 6:23 PM, Richard Henderson wrote: > This doesn't seem right at all. > > The bug is that I gets set to UINT64_MAX, right? Where's the > incorrect conversion from int to __int128_t? Surely you can Please see Comment #5 of PR58542: --cut here-- The problem actually starts

Re: [PATCH][i386]Fix PR 57756

2013-10-12 Thread Uros Bizjak
On Sat, Oct 12, 2013 at 2:16 AM, Sriraman Tallam wrote: > Ping. This looks nice. I suppose you grepped for effected targets and rs6000 was the only one besides i386. This is ok given target maintainers do not object within 24h and the test successfully bootstrapped and

Re: PATCH: PR target/58690: internal compiler error: in copy_to_mode_reg, at explow.c:641

2013-10-12 Thread Uros Bizjak
On Fri, Oct 11, 2013 at 8:38 PM, H.J. Lu wrote: > In x32, when a TLS address is in DImode and Pmode is SImode, > copy_addr_to_reg will fail. This patch adds ix86_copy_addr_to_reg > to first copy DImode address into a DImode register and then to generate > SImode SUBREG in this case. Tested on x

Re: [PATCH i386] Use ordered comparisons for rounding builtins when -mno-ieee-fp

2013-10-12 Thread Uros Bizjak
Hello! > 2013-10-11 Alexander Monakov > > * config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode > provided by ix86_fp_compare_mode instead of CCFPUmode. > > testsuite/: > * gcc.target/i386/builtin-ucmp.c: New test. OK for mainline. Thanks, Uros.

Re: PATCH: PR target/58690: internal compiler error: in copy_to_mode_reg, at explow.c:641

2013-10-12 Thread Uros Bizjak
On Sat, Oct 12, 2013 at 4:57 PM, H.J. Lu wrote: >>> In x32, when a TLS address is in DImode and Pmode is SImode, >>> copy_addr_to_reg will fail. This patch adds ix86_copy_addr_to_reg >>> to first copy DImode address into a DImode register and then to generate >>> SImode SUBREG in this case. Tes

Re: [PATCH,i386] Enable FMA4 for AMD bdver3

2013-10-16 Thread Uros Bizjak
On Wed, Oct 16, 2013 at 8:28 AM, Gopalasubramanian, Ganesh wrote: > The below patch enables FMA4 for AMD bdver3 architectures. > > "make -k check" passes. > > +2013-10-16 Ganesh Gopalasubramanian > + > + * config/i386/i386.c (ix86_option_override_internal): Enable FMA4 > + for AMD b

Re: libgo patch committed: Don't clobber context when catching signal

2013-10-16 Thread Uros Bizjak
Hello! > This patch to libgo fixes a dumb bug in which catching a signal via the > os/signal package could clobber the saved split-stack context, leading > to disaster if the signal arrived at the wrong time. Bootstrapped and > ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.

Re: [PATCH i386 AVX2] Remove redundant expands.

2013-10-16 Thread Uros Bizjak
On Wed, Oct 16, 2013 at 6:06 PM, Kirill Yukhin wrote: > It seems that gang of AVX* patterns were copy and > pasted from SSE, however as far as they are NDD, > we may remove corresponding expands which sort operands. > > ChangeLog: > * config/i386/sse.md (vec_widen_umult_even_v8si): Remove

Re: [PATCH i386 AVX2] Remove redundant expands.

2013-10-16 Thread Uros Bizjak
On Wed, Oct 16, 2013 at 6:06 PM, Kirill Yukhin wrote: > It seems that gang of AVX* patterns were copy and > pasted from SSE, however as far as they are NDD, > we may remove corresponding expands which sort operands. OTOH, I have some second thoughts on removing AVX2 expanders. Please consider t

Re: [PATCH i386 AVX2] Remove redundant expands.

2013-10-16 Thread Uros Bizjak
On Wed, Oct 16, 2013 at 7:01 PM, Richard Henderson wrote: > On 10/16/2013 09:47 AM, Uros Bizjak wrote: >> On Wed, Oct 16, 2013 at 6:06 PM, Kirill Yukhin >> wrote: >> >>> It seems that gang of AVX* patterns were copy and >>> pasted from SSE, however as

Re: [PATCH i386 3/8] [AVX512] [19/n] Add AVX-512 patterns: Extracts and converts.

2013-10-17 Thread Uros Bizjak
On Thu, Oct 17, 2013 at 12:47 PM, Kirill Yukhin wrote: > >> > I suspect gen_lowpart is bad turn when reload is completed, as >> > far as it can create new pseudo. gen_lowpart () may call >> > gen_reg_rtx (), which contain corresponging gcc_assert (). >> >> False. gen_lowpart is perfectly safe pos

[PATCH, i386]: Improve ix86_fixup_binary_operands when both operands are in memory

2013-10-17 Thread Uros Bizjak
approach requires less fixups in reload pass. 2013-10-17 Uros Bizjak * config/i386/i386.c (ix86_fixup_binary_operands): When both source operands are in memory, prefer to force non-matched operand 1 to the register. Patch was tested on x86_64-pc-linux-gnu {,-m32} and committed to

[PATCH, i386]: Remove unneeded isa attribute from *vec_widen_smult_even_v8si

2013-10-17 Thread Uros Bizjak
Hello! The isa attribute is not needed since we already constrainted insn with TARGET_AVX2. 2013-10-17 Uros Bizjak * config/i386/sse.md (*vec_widen_smult_even_v8si): Remove isa attribute. Tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN. Uros. Index: config/i386

Re: [PATCH][i386]Fix PR 57756

2013-10-17 Thread Uros Bizjak
Hello! >>> I would need the help of target maintainers to fix it this way since >>> it touches every target and it would take time for me to build and >>> test every target. >> >> For changes that only need a compile to ensure one didn't brake a port, a >> configure and build of > a target is 2 m

Re: libgo patch committed: Add system calls

2013-10-18 Thread Uros Bizjak
Hello! > This patch to libgo adds some system calls to the syscall package. > Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. > Committed to mainline and 4.8 branch, since these calls were in Go > 1.1.2. Uros. Index: runtime/go-nosys.c =

[PATCH]: Clarify multiple return registers handling in mode-switching.c

2013-10-19 Thread Uros Bizjak
o the patch clarifies that __builtin_apply situation actually applies to all multiple return register exits. The patch clarifies this situation. No functional changes (modulo converting a couple of variables to boolean type). 2013-10-19 Uros Bizjak * mode-switching.c (create_pre_exit): R

[PATCH, i386]: Fix PR 58792 by adding missing registers to ix86_function_value_regno_p

2013-10-19 Thread Uros Bizjak
58792 by adding missing registers to function_value_regno_p. 2013-10-19 Uros Bizjak PR target/58792 * config/i386/i386.c (ix86_function_value_regno): Add DX_REG, ST1_REG and XMM1_REG for 32bit and 64bit targets. Also add DI_REG and SI_REG for 64bit SYSV ABI targets. The patch

Re: [PATCH, i386]: Fix PR 58792 by adding missing registers to ix86_function_value_regno_p

2013-10-19 Thread Uros Bizjak
On Sat, Oct 19, 2013 at 2:55 PM, Uros Bizjak wrote: > > The list of possible return registers in ix86_function_value_regno_p > is incomplete. 32bit and 64bit targets use %[er]dx register for > DImode and TImode values respectively and %st(1) and %xmm1 for > imaginary part of

Re: Help with mode switching (create_pre_exit)

2013-10-19 Thread Uros Bizjak
Hello! > I'm fighting with mode switching (to be more precise with > create_pre_exit function) trying to make it work for MPX. I saw > create_pre_exit had some stability issues before and now I'm facing > similar issues trying to have it working when bound register is > returned by function in ad

Re: [PATCH i386 3/8] [AVX512] [19/n] Add AVX-512 patterns: Extracts and converts.

2013-10-20 Thread Uros Bizjak
On Thu, Oct 17, 2013 at 4:16 PM, Kirill Yukhin wrote: >> >> > I suspect gen_lowpart is bad turn when reload is completed, as >> >> > far as it can create new pseudo. gen_lowpart () may call >> >> > gen_reg_rtx (), which contain corresponging gcc_assert (). >> >> >> >> False. gen_lowpart is perfe

Add FLAGS_REG clobber to kxnor

2013-10-21 Thread Uros Bizjak
Hello! We are splitting it to normal XOR that includes clobber, so better start with the clobber from the beginning. 2013-10-20 Uros Bizjak * config/i386/i386.md (kxnor): Add FLAGS_REG clobber. Tested on x86_64-pc-linux-gnu and committed to mainline SVN. Uros. Index: i386.md

[PATCH, i386]: Fix PR 58779, wrong MINUS overflow checks

2013-10-22 Thread Uros Bizjak
sequence gets the inverted condition. The attached patch removes wrong definitions. 2013-10-22 Uros Bizjak PR target/58779 * config/i386/i386.c (put_condition_code) : Remove CCCmode handling. : Return 'c' suffix for CCCmode. : Return 'nc' suffix for CCCmod

Re: [PATCH][i386]Fix PR 57756

2013-10-22 Thread Uros Bizjak
On Tue, Oct 22, 2013 at 11:05 PM, Sriraman Tallam wrote: >This simple patch fixes the -m32 -mno-sse bugs you reported. A few > more places where I did not change references to global_options. > Uros/Richard: Is this ok to commit? > > * config/i386/i386.c (ix86_option_override_internal): > Cha

Re: [PATCH] Vectorizing abs(char/short/int) on x86.

2013-10-23 Thread Uros Bizjak
Hello! > Currently GCC could not vectorize abs() operation for integers on x86 > with only SSE2 support. For int type, the reason is that the expand on > abs() is not defined for vector type. This patch defines such an > expand so that abs(int) will be vectorized with only SSE2. +(define_expand "

Re: [PATCH, i386, MPX 1/X] Support of Intel MPX ISA. 2/2 New registers and instructions

2013-10-24 Thread Uros Bizjak
On Thu, Oct 24, 2013 at 12:06 PM, Ilya Enkovich wrote: > On 01 Oct 20:00, Uros Bizjak wrote: >> >> This is OK for mainline, on the condition that target independent part >> is approved and committed first. >> >> Thanks, >> Uros. > > Thanks for revi

Re: [PATCH, i386, MPX 1/X] Support of Intel MPX ISA. 2/2 New registers and instructions

2013-10-24 Thread Uros Bizjak
On Thu, Oct 24, 2013 at 1:29 PM, Ilya Enkovich wrote: This is OK for mainline, on the condition that target independent part is approved and committed first. Thanks, Uros. >>> >>> Thanks for review! >>> >>> Attached is a version to be committed. The only difference from

<    1   2   3   4   5   6   7   8   9   10   >