Re: [PATCH, x86, testsuite, AVX-512] Fix initialization in 4 tests for shuffles.

2014-03-27 Thread Uros Bizjak
On Thu, Mar 27, 2014 at 10:18 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Straightforward patch in the bottom fixes copy-and-paste problem in initialization part of tests. Updated tests pass on simulator. Is it ok for trunk? gcc/testsuite: *

Re: [PATCH] Allow VOIDmode argument to ix86_copy_addr_to_reg (PR target/60693)

2014-03-28 Thread Uros Bizjak
On Fri, Mar 28, 2014 at 4:19 PM, Jakub Jelinek ja...@redhat.com wrote: Before ix86_copy_addr_to_reg has been added, we've been using copy_addr_to_reg, which handles VOIDmode values just fine. But this new function just ICEs on those. As the function has been added for adding SUBREGs to TLS

Re: various _mm512_set* intrinsics

2014-03-28 Thread Uros Bizjak
Hello! Here are more intrinsics that are missing. I know that gcc currently generates horrible code for most of them but I think it's more important to have the API in place, albeit non-optimal. Maybe this entices some one to add the necessary optimizations. I agree that having non-optimal

Re: Fix various x86 tests for --with-arch=bdver3

2014-03-29 Thread Uros Bizjak
On Fri, Mar 28, 2014 at 10:46 PM, Joseph S. Myers jos...@codesourcery.com wrote: If you build an x86_64 toolchain with --with-arch enabling various instruction set extensions by default, this causes some tests to fail that aren't expecting those extensions to be enabled. This patch fixes

Re: Fix various x86 tests for --with-arch=bdver3

2014-03-30 Thread Uros Bizjak
of existing FMA patterns. These modes are not supported by patterns that also support FMA4 insns. 2014-03-30 Uros Bizjak ubiz...@gmail.com * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator. (sd_mask_codeforfma_fmadd_modesd_maskz_nameround_name): Split out

Re: Fix various x86 tests for --with-arch=bdver3 --with-cpu=bdver3

2014-04-02 Thread Uros Bizjak
On Wed, Apr 2, 2014 at 12:27 AM, Joseph S. Myers jos...@codesourcery.com wrote: When I fixed various tests in http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01662.html for failures with --with-arch=bdver3, I missed that a so-configured compiler still defaults to -mtune=generic. If you override

Re: Fix various x86 tests for --with-arch=bdver3 --with-cpu=bdver3

2014-04-02 Thread Uros Bizjak
On Wed, Apr 2, 2014 at 12:27 AM, Joseph S. Myers jos...@codesourcery.com wrote: There are other failures this patch does not resolve in a --with-arch=bdver3 --with-cpu=bdver3 configuration. Some of these are AVX tests whose failures are not resolved by adding -mno-prefer-avx128 (and so this

Re: Skip some gcc.target/i386 tests for conflicting -march= options

2014-04-02 Thread Uros Bizjak
On Wed, Apr 2, 2014 at 6:36 PM, Joseph S. Myers jos...@codesourcery.com wrote: If you test an x86_64 toolchain with -march=bdver3 in the multilib options, as noted in http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01662.html various test failures arise from tests whose own -march= in dg-options

Re: Use -mno-prefer-avx128 in two more tests

2014-04-02 Thread Uros Bizjak
On Wed, Apr 2, 2014 at 10:09 PM, Joseph S. Myers jos...@codesourcery.com wrote: Two of the tests I noted in http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00036.html did not get fixed for --with-arch=bdver3 --with-cpu=bdver3 by adding -mno-prefer-avx128 in fact also show failures for

Re: PATCH: PR target/60827: Inconsistent optimize_function_for_speed_p in in *fixuns_truncmode_1

2014-04-14 Thread Uros Bizjak
On Fri, Apr 11, 2014 at 10:16 PM, H.J. Lu hongjiu...@intel.com wrote: Since fixuns_truncmodesi2 expander checks optimize_insn_for_size_p before generating *fixuns_truncmode_1, we should use optimize_insn_for_speed_p in *fixuns_truncmode_1 for consistency. OK for trunk? Thanks. H.J. ---

Re: PATCH: PR target/60827: Inconsistent optimize_function_for_speed_p in in *fixuns_truncmode_1

2014-04-14 Thread Uros Bizjak
On Mon, Apr 14, 2014 at 6:49 PM, Jan Hubicka hubi...@ucw.cz wrote: On Fri, Apr 11, 2014 at 10:16 PM, H.J. Lu hongjiu...@intel.com wrote: Since fixuns_truncmodesi2 expander checks optimize_insn_for_size_p before generating *fixuns_truncmode_1, we should use optimize_insn_for_speed_p in

[PATCH, i386]: Some classify_argument and return_in_memory cleanups

2014-04-14 Thread Uros Bizjak
Hello! Attached patch changes return type of classify_argument to bool and merges a couple of called-once functions to their call sites. The later change removes a bunch of functions, declared with ATTRIBUTE_UNUSED. 2014-04-14 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c

Re: [build] Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)

2014-04-15 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 5:21 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: As reported in the PR, gcc/configure currently fails to detect native TLS support on x86_64-*-solaris2* with a 64-bit gas since it feeds it 32-bit TLS code. I haden't noticed this so far since I've been using a

Re: [PATCH 1/3, x86] X86 Silvermont vector cost model tune

2014-04-15 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 6:06 PM, Evgeny Stupachenko evstu...@gmail.com wrote: I've separated the patch into 3. The patch passes x86 bootstrap. 1st part: 2014-04-15 Evgeny Stupachenko evstu...@gmail.com * config/i386/i386.c (slm_cost): Fixing vec_to_scalar_cost for

Re: [PATCH 2/3, x86] X86 Silvermont vector cost model tune

2014-04-16 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 6:08 PM, Evgeny Stupachenko evstu...@gmail.com wrote: 2d part: 2014-04-15 Evgeny Stupachenko evstu...@gmail.com * config/i386/x86-tune.def (TARGET_SLOW_PHUFFB): Target for slow byte shuffle on some x86 architectures. ... (X86_TUNE_SLOW_PSHUFB): New

Re: [PATCH 3/3, x86] X86 Silvermont vector cost model tune

2014-04-16 Thread Uros Bizjak
On Tue, Apr 15, 2014 at 6:12 PM, Evgeny Stupachenko evstu...@gmail.com wrote: 3d part: 2014-04-15 Evgeny Stupachenko evstu...@gmail.com * config/i386/i386.c (x86_add_stmt_cost): Fixing vector cost model for Silvermont. ... : Fix vector cost ... OK for mainline with the

Re: [PATCH 3/3, x86] X86 Silvermont vector cost model tune

2014-04-16 Thread Uros Bizjak
On Wed, Apr 16, 2014 at 4:31 PM, Evgeny Stupachenko evstu...@gmail.com wrote: For the 3d part of the patch there was a misprint in estimated constant. It should be 1.7 instead of 1.8. - retval = (retval * 18) / 10; + retval = (retval * 17) / 10; Bootstarp passed. The change

Re: Remove obsolete Solaris 9 support

2014-04-16 Thread Uros Bizjak
On Wed, Apr 16, 2014 at 1:16 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: Now that 4.9 has branched, it's time to actually remove the obsolete Solaris 9 configuration. Most of this is just legwork and falls under my Solaris maintainership. A couple of questions, though: * Uros: I'm

Re: Patch ping

2014-04-17 Thread Uros Bizjak
On Wed, Apr 16, 2014 at 11:35 PM, Jeff Law l...@redhat.com wrote: I'd like to ping 2 patches: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00140.html - Ensure GET_MODE_{SIZE,INNER,NUNITS} (const) is constant rather than memory load after optimization (I'd like to keep the current

Re: [PATCH, x86] merge movsd/movhpd pair in peephole

2014-04-21 Thread Uros Bizjak
On Mon, Apr 21, 2014 at 8:00 PM, Wei Mi w...@google.com wrote: llvm will merge movsd/movhpd to movupd while gcc will not. The merge is beneficial on x86 machines starting from Nehalem. The patch is to add the merging in peephole. bootstrap and regression pass. Is it ok for stage1? Let's

[PATCH, i386]: Fix PR/60909, ICE with -mrdrnd and __builtin_ia32_rdrand32_step

2014-04-21 Thread Uros Bizjak
-21 Uros Bizjak ubiz...@gmail.com PR target/60909 * config/i386/i386.c (ix86_expand_builtin) case IX86_BUILTIN_RDRAND{16,32,64}_STEP: Use temporary register for target RTX. case IX86_BUILTIN_RDSEED{16,32,64}_STEP: Ditto. Testsuite/ChangeLog: 2014-04-21 Uros Bizjak ubiz

Re: Remove obsolete Solaris 9 support

2014-04-23 Thread Uros Bizjak
On Tue, Apr 22, 2014 at 2:35 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: Uros Bizjak ubiz...@gmail.com writes: On Wed, Apr 16, 2014 at 1:16 PM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: Now that 4.9 has branched, it's time to actually remove the obsolete Solaris 9

Re: [i386] define __SIZEOF_FLOAT128__

2014-04-24 Thread Uros Bizjak
On Thu, Apr 24, 2014 at 7:35 AM, Marc Glisse marc.gli...@inria.fr wrote: (Adding an i386 maintainer in Cc) http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00620.html On Sun, 13 Apr 2014, Marc Glisse wrote: Hello, some people like having a macro to test if a type is available

[PATCH, testsuite]: Require vect_simd_clones effective target for c-c++-common/gomp/pr60823-2.c

2014-04-25 Thread Uros Bizjak
Hello! This is a runtime test, so check if we are able to at least compile the source. 2014-04-25 Uros Bizjak ubiz...@gmail.com * c-c++-common/gomp/pr60823-2.c: Require effective target vect_simd_clones. Tested on x86_64 CentOS 5.10. OK for mainline? Uros. Index: c-c++-common/gomp

Re: [COMMITTED] Fix debug/60438 -- i686 stack vs fp operations

2014-04-26 Thread Uros Bizjak
On Sat, Apr 26, 2014 at 11:27 AM, Tom de Vries tom_devr...@mentor.com wrote: On 13-03-14 21:49, Richard Henderson wrote: (define_expand ldexpxf3 - [(set (match_dup 3) - (float:XF (match_operand:SI 2 register_operand))) - (parallel [(set (match_operand:XF 0 register_operand) -

[PATCH, testsuite]: Clean dump files

2014-04-26 Thread Uros Bizjak
Hello! 2014-04-26 Uros Bizjak ubiz...@gmail.com * gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details. * gcc.dg/vect/pr60505.c: Cleanup vect tree dump. * g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt. Committed to mainline and 4.9 branch. Uros. Index

Re: [PATCH, PR58066] preferred_stack_boundary update for tls expanded call

2014-05-01 Thread Uros Bizjak
On Thu, May 1, 2014 at 6:42 AM, Wei Mi w...@google.com wrote: Ping. Is pr58066-3.patch or pr58066-4.patch ok for trunk? None of these patches have correct ChangeLog entries. Please follow the rules, outlined in http://gcc.gnu.org/contribute.html (Submitting Patches section), otherwise your

Re: Fix various x86 tests for --with-arch=bdver3 --with-cpu=bdver3

2014-05-05 Thread Uros Bizjak
On Mon, May 5, 2014 at 6:44 PM, Joseph S. Myers jos...@codesourcery.com wrote: These are due to TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL tuning flag. Currently, this flag applies to all vector sizes (128, 256 and 512 bits), but I guess it is effective only for 128 bit sizes. Can you please

Fwd: [PATCH, alpha]: Fix PR61092, wide-int merge broke alpha bootstrap

2014-05-08 Thread Uros Bizjak
: in expansion of macro ‘umul_ppmm’ umul_ppmm (val[1], val[0], op1.ulow (), op2.ulow ()); ^ As instructed by Jakub, target builtins should be folded during gimplification. 2014-05-08 Uros Bizjak ubiz...@gmail.com PR target/61092 * config/alpha/alpha.c: Include gimple-iterator.h

Re: Fix some tests for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL

2014-05-08 Thread Uros Bizjak
On Thu, May 8, 2014 at 3:10 AM, Joseph S. Myers jos...@codesourcery.com wrote: Having fixed TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to apply only to 128-bit vectors, some --with-arch=bdver3 --with-cpu=bdver3 scan-assembler failures relating to that tuning remain, because of different choices of

Re: [PATCH, PR58066] preferred_stack_boundary update for tls expanded call

2014-05-08 Thread Uros Bizjak
On Thu, May 8, 2014 at 12:59 AM, Wei Mi w...@google.com wrote: The calls added in the templates of tls_local_dynamic_base_32 and tls_global_dynamic_32 in pr58066-3.patch are used to prevent sched2 from moving sp setting across implicit tls calls, but those calls make the combine of

[PATCH, i386]: Fix PR59952, -march=core-avx2 should not enable RTM

2014-05-08 Thread Uros Bizjak
Hello! Apparently, not all Haswell processors have TSX. Attached patch removes PTA_RTM from default Haswell flags. PTA_HLX still makes sense for Haswell processors, since the prefix is ignored on non-TSX processors. 2014-05-08 Uros Bizjak ubiz...@gmail.com PR target/59952 * config

Re: [PATCH][x86] Support clflushopt, xsaves, xsavec.

2014-05-12 Thread Uros Bizjak
On Mon, May 12, 2014 at 3:25 PM, Ilya Tocar tocarip.in...@gmail.com wrote: This patch add support for xsavec, xsaves ISA extensions, introduced in [1], and clflushopt introduced in [2]. [1]http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Re: [PATCH][x86] Support clflushopt, xsaves, xsavec.

2014-05-13 Thread Uros Bizjak
On Tue, May 13, 2014 at 11:18 AM, Ilya Tocar tocarip.in...@gmail.com wrote: This patch add support for xsavec, xsaves ISA extensions, introduced in [1], and clflushopt introduced in [2]. [1]http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Re: [PATCH] Fix PR 60901

2014-05-14 Thread Uros Bizjak
On Wed, May 14, 2014 at 10:57 AM, Andrey Belevantsev a...@ispras.ru wrote: This ICE comes from the ix86_dependencies_evaluation_hook code assumption that any scheduling region will be connected. This assumption is not correct in case of the outer loops pipelining of the selective scheduler as

Re: Make check_effective_target_vect_sizes_32B_16B handle -mprefer-avx128

2014-05-17 Thread Uros Bizjak
On Sat, May 10, 2014 at 6:00 PM, Joseph S. Myers jos...@codesourcery.com wrote: In general, vectorization tests whose expectations on x86 depend on whather AVX is available should only consider AVX available if -mprefer-avx128 is not enabled. Some of the effective-target functions in

Re: [PATCH, PR58066] preferred_stack_boundary update for tls expanded call

2014-05-17 Thread Uros Bizjak
On Mon, May 12, 2014 at 7:38 PM, Wei Mi w...@google.com wrote: Here is a patch for the test. It contains two changes: 1. For emutls, there will be an explicit call generated at expand pass, and no stack adjustment is needed. So add /* { dg-require-effective-target tls_native } */ in the test.

Re: patch to fix PR60969

2014-05-17 Thread Uros Bizjak
Hello! Attached patch enhances the testcase to also check for presence of MMX registers on all 32bit x86 targets. 2014-05-17 Uros Bizjak ubiz...@gmail.com * g++.dg/pr60969.C: Compile for all ilp32 x86 targets. (dg-options): Add -mfpmath=387. (dg-final): Check that no MMX registers

[PATCH, doc]: Improve -free description

2014-05-17 Thread Uros Bizjak
Hello! -free defaults to enabled also for Alpha. The option is also enabled for -Os on all targets. 2014-05-17 Uros Bizjak ubiz...@gmail.com * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os. Committed to 4.9 and mainline SVN. Uros. Index: invoke.texi

[PATCH, doc]: Fix a bunch of warnings in *.texi files

2014-05-17 Thread Uros Bizjak
as seen when compiling on Fedora 20. 2014-05-17 Uros Bizjak ubiz...@gmail.com * doc/extend.texi (Size of an asm): Move node text according to its @menu entry position. Tested on x86_64-pc-linux-gnu, committed to mainline SVN. Uros. Index: doc/extend.texi

[PATCH, libgomp doc]: Fix all libgomp.texi warnings

2014-05-17 Thread Uros Bizjak
. * omp_get_wtime::Elapsed wall clock time. --cut here-- i.e., without extra * Menu entries, what was probably ment from the beginning. 2014-05-17 Uros Bizjak ubiz...@gmail.com * libgomp.texi (Runitme Library Routines): Remove multiple @menu. (Environment Variables) Move

Re: [PATCH, doc]: Fix a bunch of warnings in *.texi files

2014-05-18 Thread Uros Bizjak
On Sun, May 18, 2014 at 7:17 AM, David Wohlferd d...@limegreensocks.com wrote: My bad. My version of makeinfo wasn't reporting these errors. However, this isn't right either. There are two subsections that are now under Size of an asm that should be under Variables in Specified Registers.

[PATCH, doc]: Fix POD document had syntax errors at /usr/bin/pod2man line 69. error

2014-05-18 Thread Uros Bizjak
) As suggested in the fix for a similar problem [1], the solution is to put Z in the =item argument string. 2014-05-18 Uros Bizjak ubiz...@gmail.com * texi2pod.pl: Force .pod file to not be a numbered list. The fix was tested by bootstrapping on Fedora20 x86_64-pc-linux-gnu, and also

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2014-05-19 Thread Uros Bizjak
note, that the block_tune setting for the nocona is wrong, -march=native on my trusted old P4 returns: --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=nocona which is consistent with the above quote from manual. 2014-01-02 Uros Bizjak ubiz

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2014-05-19 Thread Uros Bizjak
On Mon, May 19, 2014 at 6:42 PM, H.J. Lu hjl.to...@gmail.com wrote: Uros, I am looking into libreoffice size and the data alignment seems to make huge difference. Data section has grown from 5.8MB to 6.3MB in between GCC 4.8 and 4.9, while clang produces 5.2MB. The two patches I posted to

Re: [PATCH, doc]: Fix POD document had syntax errors at /usr/bin/pod2man line 69. error

2014-05-24 Thread Uros Bizjak
On Sun, May 18, 2014 at 11:10 AM, Uros Bizjak ubiz...@gmail.com wrote: Attached patch fixes following errors in .pod document sources: gfdl.pod around line 53: Expected text after =item, not a number gfdl.pod around line 147: Expected text after =item, not a number gfdl.pod around line 165

Re: [PATCH] PR 61249: fix documentation of __builtin_ia32_{vfrczss,vfrczsd,mpsadbw256}

2014-05-26 Thread Uros Bizjak
Hello! 2014-05-26 Michael Tautschnig m...@debian.org PR target/61249 * doc/extend.texi: Fix parameter lists of __builtin_ia32_vfrczs[sd], __builtin_ia32_mpsadbw256. Thanks, I have committed the patch with slightly changed ChangeLog to all branches. Uros.

[PATCH, libbid]: Fix variable ‘Ql’ set but not used warnings

2014-05-26 Thread Uros Bizjak
Hello! Attached patch fixes several variable ‘Ql’ set but not used warnings in bid128_div.c and bid64_div.c libbid sources. We can simply use __mul_128x128_high functions when lowpart is not needed. 2014-05-26 Uros Bizjak ubiz...@gmail.com * bid128_div.c (BID128_FUNCTION_ARG2): Remove

[PATCH, i386]: Fix logical 'not' error in x86_rtx_costs (PR 61271)

2014-05-26 Thread Uros Bizjak
Hello! There is a stray ! in ix86_rtx_costs which results in an invalid bypass for LABEL_REFs. After some simplifications, the fixed condition should read: else if (flag_pic SYMBOLIC_CONST (x) !(TARGET_64BIT (GET_CODE (x) == LABEL_REF || (GET_CODE (x)

Re: [PATCH, i386]: Fix logical 'not' error in x86_rtx_costs (PR 61271)

2014-05-26 Thread Uros Bizjak
On Mon, May 26, 2014 at 7:48 PM, Uros Bizjak ubiz...@gmail.com wrote: Hello! There is a stray ! in ix86_rtx_costs which results in an invalid bypass for LABEL_REFs. After some simplifications, the fixed condition should read: else if (flag_pic SYMBOLIC_CONST (x

[PATCH, testsuite]: Fix lto.exp does not support ... in secondary source files warnings

2014-05-26 Thread Uros Bizjak
Hello! 2014-05-26 Uros Bizjak ubiz...@gmail.com * gcc.dg/lto/pr61278_1.c: Remove dg directives. Tested on x86_64-pc-linux-gnu and committed. Uros. Index: ChangeLog === --- ChangeLog (revision 210936) +++ ChangeLog

[PATCH, testsuite]: Fix c-c++-common/cilk-plus/AN/pr61191.c dg-error directives.

2014-05-26 Thread Uros Bizjak
Hello! 2014-05-26 Uros Bizjak ubiz...@gmail.com * c-c++-common/cilk-plus/AN/pr61191.c: Fix dg-error directives. Tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN. Uros. Index: c-c++-common/cilk-plus/AN/pr61191.c

[PATCH, libgomp]: Require vect_simd_clones effective target for libgomp.fortran/declare-simd-[12].f90

2014-05-27 Thread Uros Bizjak
Hello! These tests require vect_simd_clones effective target, as the target should be able to compile AVX clones. 2014-05-27 Uros Bizjak ubiz...@gmail.com * testsuite/libgomp.fortran/declare-simd-1.f90: Require vect_simd_clones effective target. Remove dg-additional-options

Re: [PATCH, libgomp]: Require vect_simd_clones effective target for libgomp.fortran/declare-simd-[12].f90

2014-05-27 Thread Uros Bizjak
-effective-target. Thanks for the explanation. Following is the v2 patch that I plan to commit after testing: 2014-05-27 Uros Bizjak ubiz...@gmail.com * testsuite/libgomp.fortran/declare-simd-1.f90: Require vect_simd_clones effective target. * testsuite/libgomp.fortran/declare-simd-2.f90

[PATCH, fortran]: Include stdlib.h in intrinsics/getcwd.c

2014-05-27 Thread Uros Bizjak
... to avoid implicit declaration of function ‘free’ warning. 2014-05-27 Uros Bizjak ubiz...@gmail.com * intrinsics/getcwd.c: Include stdlib.h. Tested on x86_64-pc-linux-gnu. OK for mainline? Uros. Index: intrinsics/getcwd.c

Re: [PATCH, fortran]: Include stdlib.h in intrinsics/getcwd.c

2014-05-27 Thread Uros Bizjak
On Tue, May 27, 2014 at 1:37 PM, Steve Kargl s...@troutmask.apl.washington.edu wrote: ... to avoid implicit declaration of function ???free??? warning. 2014-05-27 Uros Bizjak ubiz...@gmail.com * intrinsics/getcwd.c: Include stdlib.h. It can also be committed to the 4.9 branch if you

Re: [Patch] Minor fixes for regtesting gfortran with -flto

2014-05-29 Thread Uros Bizjak
Hello! With the following patch, gfortran can be regtested with -flto with no failure, but pr54852 and pr60061. -! { dg-final { scan-assembler-times myBindC 1 { target { ! { hppa*-*-hpux* } } } } } -! { dg-final { scan-assembler-times myBindC,%r2 1 { target { hppa*-*-hpux* } } } } +! {

Re: [Patch] Minor fixes for regtesting gfortran with -flto

2014-05-29 Thread Uros Bizjak
On Thu, May 29, 2014 at 11:38 AM, Dominique Dhumieres domi...@lps.ens.fr wrote: Probably, alpha is not the only one that fails this assumption. Indeed! see the thread starting at https://gcc.gnu.org/ml/fortran/2014-05/msg00127.html Could you test the following patch ---

Re: Patch RFA: Move x86 _mm_pause out of pragma target(sse) scope

2014-05-30 Thread Uros Bizjak
Hello! This error is because _mm_pause is defined in the scope of #pragma GCC target(sse). But _mm_pause, which simply generates the pause instruction, does not require SSE support. The pause instruction has nothing really to do with SSE, and it works on all x86 processors (on processors

Re: [PATCH, i386] Enable fuse-caller-save for i386

2014-05-30 Thread Uros Bizjak
On Fri, May 30, 2014 at 11:45 AM, Tom de Vries tom_devr...@mentor.com wrote: This patch enables the fuse-caller-save optimization for i386. It sets the hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS to true. The definition of the hook is: ... set to true if all the calls in the

Re: [patch i386]: Fix sibcall failures caused by allowing constant memories

2014-06-01 Thread Uros Bizjak
On Sat, May 31, 2014 at 2:27 PM, Kai Tietz ktiet...@googlemail.com wrote: I resend patch within new thread. Recent fallout about sibcall was caused by using 'm' constraint for sibcalls. By this wrongly combines happened on reload-pass. That patch introduces new constraint 'B' for

[PATCH, testsuite]: Properly escape brackets in gcc.target/i386/sibcall-X.c scan strings

2014-06-01 Thread Uros Bizjak
Hello! 2014-06-01 Uros Bizjak ubiz...@gmail.com * gcc.target/i386/sibcall-2.c (dg-final): Properly escape '[' and ']' in scan-assembler-not string. * gcc.target/i386/sibcall-3.c (dg-final): Ditto. * gcc.target/i386/sibcall-4.c (dg-final): Ditto. * gcc.target/i386/sibcall-6

[PATCH, i386]: Rename two @internal constraints

2014-06-01 Thread Uros Bizjak
Hello! This change renames two @internal constraints to free two letters. 2014-06-01 Uros Bizjak ubiz...@gmail.com * config/i386/constraints.md (Bw): Rename from 'w'. (Bz): Rename from 'z'. * config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally. Tested on x86_64-linux

[PATCH, testsuite]: Fixes for recent ia32 testsuite failures

2014-06-01 Thread Uros Bizjak
Hello! Plus a more modern dg-do target selector instead of dg-require-effective-target. 2014-06-01 Uros Bizjak ubiz...@gmail.com * gcc.target/i386/sibcall-2.c: Xfail dg-final scan-assembler-not, not compilation. * gcc.target/i386/sibcall-4.c: Ditto. * gcc.target/i386/fuse

[PATCH, i386]: Fix PR 61239, ICE in decompose, at rtl.h when compiling vshuf-v16hi.c using -mavx2

2014-06-02 Thread Uros Bizjak
Hello! 2014-06-02 Uros Bizjak ubiz...@gmail.com PR target/61239 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant. Tested on x86_64-pc-linux-gnu with make check-gcc RUNTESTFLAGS='--target_board

[PATCH, testsuite]: Add -mno-avx2 to some i386 XOP tests

2014-06-02 Thread Uros Bizjak
Hello! With targets that default to AVX2, these tests vectorize via 256bit paths, where different insns are emitted. 2014-06-02 Uros Bizjak ubiz...@gmail.com * gcc.target/i386/xop-rotate1-vector.c (dg-options): Add -mno-avx2. * gcc.target/i386/xop-rotate2-vector.c (dg-options): Ditto

[PATCH, i386]: Correctly handle maximum size of stringop algorithm in decide_alg

2014-06-02 Thread Uros Bizjak
special values when choosing a maximum size for dynamic check. 2014-06-02 Uros Bizjak ubiz...@gmail.com * config/i386/i386.c (decide_alg): Correctly handle maximum size of stringop algorithm. Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32}, also with RUNTESTFLAGS

Re: [PATCH, i386]: Correctly handle maximum size of stringop algorithm in decide_alg

2014-06-02 Thread Uros Bizjak
On Mon, Jun 2, 2014 at 11:12 PM, Uros Bizjak ubiz...@gmail.com wrote: A problem was uncovered by -march=corei7 -mtune=intel -m32 with i386/memcpy-[23] testcase in decide_alg subroutine [1]. Although the max size of the transfer was known, the memcpy was not inlined, as expected

[PATCH, testsuite]: Fix g++.dg/ext/mv[14,15].C spurious failure on corei7

2014-06-03 Thread Uros Bizjak
Hello! When configured with --with-arch=core-avx-i --with-cpu=core-avx-i, g++.dg/ext/mv[14,15].C tests fail on corei7 [1] since the default CPU is the same as the checked cpu in the test. The patch compiles the testcase with -march=x86-64 as the generic CPU 2014-06-03 Uros Bizjak ubiz

Re: [fortran, patch] IEEE intrinsic modules

2014-06-05 Thread Uros Bizjak
Hello! +int get_fpu_except_flags (void) { unsigned short cw; int excepts; int result = 0; - __asm__ __volatile__ (fnstsw\t%0 : =a (cw)); + __asm__ __volatile__ (fnstsw\t%0 : =m (cw)); excepts = cw; if (has_sse()) You can use =am constraint here, and the compiler

Re: [fortran, patch] IEEE intrinsic modules

2014-06-05 Thread Uros Bizjak
Hello! 0. Gradual underflow control is implemented as not supported by the processor (its SUPPORT function returns false, and the GET and SET procedures abort if you call them). That’s explicitly allowed by the standard, so it’s not actually “missing. We can improve on this in the

Re: [fortran, patch] IEEE intrinsic modules

2014-06-05 Thread Uros Bizjak
On Thu, Jun 5, 2014 at 11:35 AM, FX fxcoud...@gmail.com wrote: Please look at libgcc/config/i386/crtfastmath.c for how to set MXCSR_FTZ from mxcsr. You already have all necessary bits in place, the function is basically only: + if (has_sse()) + { +unsigned int cw_sse; + +__asm__

Re: libgo patch committed: Merge from revision 18783 of master

2014-06-05 Thread Uros Bizjak
Hello! I have committed a patch to libgo to merge from revision 18783:00cce3a34d7e of the master library. This revision was committed January 7. I picked this revision to merge to because the next revision deleted a file that is explicitly merged in by the libgo/merge.sh script.

Re: [PATCH] Fix PR61335

2014-06-06 Thread Uros Bizjak
Hello! 2014-05-28 Richard Biener rguent...@suse.de PR tree-optimization/61335 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and new range fails, drop to varying. * gfortran.dg/pr61335.f90: New testcase. This testcase triggers SIGFPE on alpha due to the use of denormal

Re: [PATCH] Fix PR61335

2014-06-06 Thread Uros Bizjak
On Fri, Jun 6, 2014 at 9:47 AM, Uros Bizjak ubiz...@gmail.com wrote: 2014-05-28 Richard Biener rguent...@suse.de PR tree-optimization/61335 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and new range fails, drop to varying. * gfortran.dg/pr61335.f90: New testcase

Re: [patch] Update catch(...) handlers to deal with __forced_unwind

2014-06-06 Thread Uros Bizjak
Hello! Failing to rethrow a __forced_unwind exception is very bad. This patch ensures we rethrow them in async tasks, and makes the shared state ready with a broken_promise so that waiting threads don't block forever. That seems reasonable to me, does anyone have any better ideas? Tested

Re: [patch] Update catch(...) handlers to deal with __forced_unwind

2014-06-06 Thread Uros Bizjak
On Fri, Jun 6, 2014 at 11:19 AM, Jonathan Wakely jwak...@redhat.com wrote: On 06/06/14 10:27 +0200, Uros Bizjak wrote: These two tests timeout on alpha-linux-gnu: FAIL: 30_threads/async/forced_unwind.cc execution test WARNING: program timed out. FAIL: 30_threads/packaged_task

[PATCH, i386]: Fix PR 61423, incorrect conversion from unsigned int to floating point

2014-06-06 Thread Uros Bizjak
Hello! Attached patch fixes PR 61423. The problem was that splitters omitted apparently necessary zero extension, and left garbage in the highpart of the register. 2014-06-06 Uros Bizjak ubiz...@gmail.com PR target/61423 * config/i386/i386.md (*floatunssimode2_i387_with_xmm): New

Re: [patch] fix tests for AVX512

2014-06-08 Thread Uros Bizjak
On Tue, May 27, 2014 at 12:28 PM, Petr Murzin petrmurz...@gmail.com wrote: Hi, I've fixed tests for AVX512, so they could be compiled with -Werror -Wall. Please have a look. 2014-05-19 Petr Murzin petr.mur...@intel.com * gcc.target/i386/avx512f-vaddpd-2.c: Add static void for CALC,

Re: [patch] fix tests for AVX512

2014-06-09 Thread Uros Bizjak
On Mon, Jun 9, 2014 at 1:34 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 08 Jun 11:26, Uros Bizjak wrote: On Tue, May 27, 2014 at 12:28 PM, Petr Murzin petrmurz...@gmail.com wrote: Hi, I've fixed tests for AVX512, so they could be compiled with -Werror -Wall. Please

Re: [PATCH, i386]: Correctly handle maximum size of stringop algorithm in decide_alg

2014-06-09 Thread Uros Bizjak
Ping. On Mon, Jun 2, 2014 at 11:12 PM, Uros Bizjak ubiz...@gmail.com wrote: Hello! A problem was uncovered by -march=corei7 -mtune=intel -m32 with i386/memcpy-[23] testcase in decide_alg subroutine [1]. Although the max size of the transfer was known, the memcpy was not inlined, as expected

Re: [PATCH, i386] Remove use of vpmacsdql instruction from multiplication.

2014-06-10 Thread Uros Bizjak
On Tue, Jun 10, 2014 at 12:30 PM, Gopalasubramanian, Ganesh ganesh.gopalasubraman...@amd.com wrote: Hi, The below patch fixes the issue with 64-bit multiplication. The instruction vpmacsdql does signed 32-bit multiplication. For V2DImode, we require widened unsigned multiplication. So,

Re: [PATCH, libbid]: Fix variable ‘Ql’ set but not used warnings

2014-06-10 Thread Uros Bizjak
On Mon, May 26, 2014 at 6:52 PM, Uros Bizjak ubiz...@gmail.com wrote: Attached patch fixes several variable ‘Ql’ set but not used warnings in bid128_div.c and bid64_div.c libbid sources. We can simply use __mul_128x128_high functions when lowpart is not needed. 2014-05-26 Uros Bizjak ubiz

Re: [PATCH, PR61446] Fix mode for register copy in REE pass

2014-06-11 Thread Uros Bizjak
On Tue, Jun 10, 2014 at 3:45 PM, Dominique Dhumieres domi...@lps.ens.fr wrote: This patch fixes PR61446. ... Confirmed, it also allows to bootstrap Core* targets. Could it be reviewed and committed ASAP? 2014-06-09 Ilya Enkovich ilya.enkov...@intel.com PR 61446 * ree.c

Re: [PATCH, PR61446] Fix mode for register copy in REE pass

2014-06-11 Thread Uros Bizjak
On Wed, Jun 11, 2014 at 3:19 PM, Dominique Dhumieres domi...@lps.ens.fr wrote: (I am not RTL reviewer, so I can't approve the patch). Is https://gcc.gnu.org/ml/gcc-regression/2014-06/ accepatble? Yes, these are bootstraps with non-default configurations. Uros.

Re: [PATCH, PR61446] Fix mode for register copy in REE pass

2014-06-11 Thread Uros Bizjak
On Wed, Jun 11, 2014 at 6:11 PM, Ilya Enkovich enkovich@gmail.com wrote: On 11 Jun 14:59, Uros Bizjak wrote: On Tue, Jun 10, 2014 at 3:45 PM, Dominique Dhumieres domi...@lps.ens.fr wrote: This patch fixes PR61446. ... Confirmed, it also allows to bootstrap Core* targets. Could

Re: [PATCH] Fix PR61335

2014-06-17 Thread Uros Bizjak
On Fri, Jun 6, 2014 at 10:07 AM, Uros Bizjak ubiz...@gmail.com wrote: On Fri, Jun 6, 2014 at 9:47 AM, Uros Bizjak ubiz...@gmail.com wrote: 2014-05-28 Richard Biener rguent...@suse.de PR tree-optimization/61335 * tree-vrp.c (vrp_visit_phi_node): If the compare of old and new range fails

Re: [PATCH, PR52252] Alternative way of vectorization for load groups of size 2 and 3.

2014-06-17 Thread Uros Bizjak
On Tue, Jun 17, 2014 at 2:33 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Are i386 changes ok? Patches with corresponding changes and new tests are attached. Please remove all target selectors from dg-options and dg-final testcase directives, they are not needed inside gcc.dg/i386

[PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns

2014-06-18 Thread Uros Bizjak
introduced warnings in i386.md) 2014-06-18 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern. Do not use unspec as call operand. Use memory_operand instead of memory_nox32_operand and add m operand constraint. Disable pattern

Re: [PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns

2014-06-18 Thread Uros Bizjak
On Wed, Jun 18, 2014 at 2:24 PM, Kai Tietz ktiet...@googlemail.com wrote: The following change in predicates.md seems to be a bit premature. There is still the point about Darwin's PIC issue for unspec-gotpcrel. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61387 return ANY_QI_REG_P (op);

Re: [Patch, i386] Separate Intel processor with expanded ISA

2014-01-27 Thread Uros Bizjak
On Mon, Jan 27, 2014 at 10:15 AM, Uros Bizjak ubiz...@gmail.com wrote: +2013-12-29 Allan Sandfeld Jensen sandf...@kde.org Missing space in ChangeLog entry. + * config/i386/i386.c (get_builtin_code_for_version): Separate + Westmere from Nehalem, Ivy Bridge from Sandy Bridge

Re: PATCH: PR target/59672: Add -m16 support for x86

2014-01-28 Thread Uros Bizjak
On Mon, Jan 27, 2014 at 8:44 PM, H.J. Lu hongjiu...@intel.com wrote: The .code16gcc directive was added to binutils back in 1999: --- '.code16gcc' provides experimental support for generating 16-bit code from gcc, and differs from '.code16' in that 'call', 'ret', 'enter', 'leave',

Re: PATCH: PR target/59672: Add -m16 support for x86

2014-01-28 Thread Uros Bizjak
On Tue, Jan 28, 2014 at 5:35 PM, H.J. Lu hjl.to...@gmail.com wrote: The .code16gcc directive was added to binutils back in 1999: scan-asm testcase doesn't do anything useful. The only difference in assembly code between -m16 and -m32 is the .code16gcc directive All magic is done in

Re: PATCH: PR target/59672: Add -m16 support for x86

2014-01-28 Thread Uros Bizjak
On Tue, Jan 28, 2014 at 5:01 PM, Uros Bizjak ubiz...@gmail.com wrote: On Mon, Jan 27, 2014 at 8:44 PM, H.J. Lu hongjiu...@intel.com wrote: The .code16gcc directive was added to binutils back in 1999: --- '.code16gcc' provides experimental support for generating 16-bit code from gcc

Re: [PATCH][AVX512] Swap Yk and k constraints.

2014-01-30 Thread Uros Bizjak
On Thu, Jan 30, 2014 at 11:54 AM, Ilya Tocar tocarip.in...@gmail.com wrote: Turns out that for Icc meaning of Yk and k constraints (exposed through inline asm) is opposite to current GCC implementation. As Icc with such behavior was already releases and GCC wasn't. I propose to swap meaning

Re: [PATCH][AVX512] Fix rounding operand.

2014-01-30 Thread Uros Bizjak
On Thu, Jan 30, 2014 at 1:50 PM, Ilya Tocar tocarip.in...@gmail.com wrote: I've found some problems with embedded rounding implementation. First constants are already defined in smmintrin.h, so we shouldn't redefine them. Second problem is bigger: currently rounding argument to intrinsic is

Re: [PATCH] Two small i?86 *intrin* warning fixes

2014-01-30 Thread Uros Bizjak
On Thu, Jan 30, 2014 at 6:52 PM, Jakub Jelinek ja...@redhat.com wrote: While looking at some other PR, I've stripped line notes and got pr59947.ii.bak:26330:74: error: ISO C++ forbids declaration of '_mm512_mask_cvtusepi64_storeu_epi32' with no type [-fpermissive]

Re: [PATCH][testsuite] Avoid division by zero.

2014-01-30 Thread Uros Bizjak
On Thu, Jan 30, 2014 at 5:41 PM, Ilya Tocar tocarip.in...@gmail.com wrote: This patch removes possible division by zero. Make check passes. Ok for trunk? 2014-01-30 Ilya Tocar ilya.to...@intel.com * gcc.target/i386/m512-check.h: Use correct rounding values. ---

Re: [PATCH][testsuite] Avoid division by zero.

2014-01-31 Thread Uros Bizjak
On Fri, Jan 31, 2014 at 11:00 AM, Ilya Tocar tocarip.in...@gmail.com wrote: This patch removes possible division by zero. Make check passes. Ok for trunk? 2014-01-30 Ilya Tocar ilya.to...@intel.com * gcc.target/i386/m512-check.h: Use correct rounding values. ---

Re: [PATCH][testsuite] Avoid division by zero.

2014-01-31 Thread Uros Bizjak
On Fri, Jan 31, 2014 at 1:32 PM, Ilya Tocar tocarip.in...@gmail.com wrote: We won't get zero from exponential function, so expecting zero result is flawed anyway. If we would like to introduce universal epsilon comparisons into the testsuite, then please read [1]. Being overly pedantic,

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