Re: [PATCH] Fix find_base_term in 32-bit -fpic code (PR lto/64025)

2014-11-25 Thread Uros Bizjak
On Tue, Nov 25, 2014 at 8:40 AM, Uros Bizjak ubiz...@gmail.com wrote: On Tue, Nov 25, 2014 at 12:25 AM, Jakub Jelinek ja...@redhat.com wrote: The fallback delegitimization I've added as last option mainly for debug info purposes, when we don't know if the base is a PIC register or say a PIC

Re: [PATCH, ciklplus]: Use -ffloat-store for 32bit x86 in cilk-plus/AN/builtin_fn_{custom,mutating}.c

2014-11-25 Thread Uros Bizjak
On Tue, Nov 25, 2014 at 10:23 AM, Richard Biener richard.guent...@gmail.com wrote: On Mon, Nov 24, 2014 at 10:33 PM, Jeff Law l...@redhat.com wrote: On 11/22/14 11:50, Uros Bizjak wrote: Hello! These two tests fix PR target/63847 [1], where x87 excess precision causes testcase to fail

Re: [PATCH, ciklplus]: Use -ffloat-store for 32bit x86 in cilk-plus/AN/builtin_fn_{custom,mutating}.c

2014-11-25 Thread Uros Bizjak
On Tue, Nov 25, 2014 at 10:38 AM, Uros Bizjak ubiz...@gmail.com wrote: These two tests fix PR target/63847 [1], where x87 excess precision causes testcase to fail. The problem was triggered by -fpic, please see the PR for analysis. The patch adds -ffloat-store for 32bit x86 target

[PATCH, libgfortran]: Remove unused variable

2014-11-25 Thread Uros Bizjak
Hello! 2014-11-25 Uros Bizjak ubiz...@gmail.com * intrinsics/env.c (getenv): Remove unused variable res_len. Bootstrapped on x86_64-linux-gnu. Almost trivial, but ... OK for mainline? Uros. Index: intrinsics/env.c

[PATCH, libobjc]: Remove ‘...’ is static but used in inline function ‘...’ which is not static

2014-11-25 Thread Uros Bizjak
’ which is not static libobjc/sendmsg.c:139:21: warning: ‘__objc_block_forward’ is static but used in inline function ‘__objc_get_forward_imp’ which is not static 2014-11-25 Uros Bizjak ubiz...@gmail.com * sendmsg.c (get_imp): Declare as static inline. (__objc_get_forward_imp): Ditto

Re: [PATCH 04/08] PR jit/63854: Remove xstrdup from ipa/cgraph fprintf calls

2014-11-26 Thread Uros Bizjak
Hello! cgraph*.c and ipa-*.c use xstrdup on strings when dumping them via fprintf, leaking all of the duplicated buffers. Is/was there a reason for doing this? Yes, please see [1] and PR 53136 [2]. As said in [1]: There is a problem with multiple calls of cgraph_node_name in fprintf dumps.

Re: [PATCH, i386] Add new arg values for __builtin_cpu_supports

2014-11-26 Thread Uros Bizjak
Hello! I've added avx512f support to __builtin_cpu_supports. I'm not sure about bw+vl, i think for compound values like avx512bd+dq+vl, arch is better. Also for such cases prority is unclear, what should we choose bw+vl or e. g. avx512f+er? I've left MPX bits in cpuid.h, in case we will

[RFC PATCH, i386]: Prefer %ebx in set_got patterns

2014-11-27 Thread Uros Bizjak
]$ grep thunk.cx aaa | wc -l 4 [uros@omen7 .libs]$ grep thunk.dx aaa | wc -l 8 [uros@omen7 .libs]$ grep thunk.bp aaa | wc -l 497 [uros@omen7 .libs]$ grep thunk.si aaa | wc -l 145 [uros@omen7 .libs]$ grep thunk.di aaa | wc -l 198 2014-11-27 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md

Re: PATCH: PR target/63833: REAL_PIC_OFFSET_TABLE_REGNUM is wrong for x86-64

2014-11-27 Thread Uros Bizjak
On Wed, Nov 12, 2014 at 3:53 PM, H.J. Lu hongjiu...@intel.com wrote: We have been using the wrong register to hold GOT in 64-bit large model, which is used by the large model PLT. The only reason we haven't run into any problem is linker doesn't support the large model PLT. I am looking into

[PATCH, i386]: Use preferred_for_{size,speed} instead of Yx and Yd register constraints

2014-11-27 Thread Uros Bizjak
,speed} infrastructure instead to achieve the same functionality as with Yx and Yd register constraint. 2014-11-27 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (preferred_for_size): New attribute (*pushxf): Split Yx*r constraints to r,*r. Use preferred_for_size attribute

Re: RFA: one more version of the patch for PR61360

2014-09-28 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 10:31 PM, Vladimir Makarov vmaka...@redhat.com wrote: I guess we achieved the consensus about the following patch to fix PR61360 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61360 The patch was successfully bootstrapped and tested (w/wo -march=amdfam10) on x86/x86-64.

Re: [PATCH i386 AVX512] [57/n] Extend blend/cmp/brodcast insn patterns.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 11:04 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, Patch in the bottom extends blend/cmp/brodcast insn patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [58/n] Add vpmul[u]dq insn patterns.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 12:33 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, Patch in the bottom adds support for vpmul[u]dq insn patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [59/n] Add vptest[n]m, ucmp, cmpeq insn patterns.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 12:45 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, Patch in the bottom adds support for vptest[n]m, ucmp, cmpeq. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c

Re: [PATCH i386 AVX512] [60/n] Update 128bit ashrv insn pattern.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 1:13 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This tiny patch extends 128bit ashrv expander. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [61/n] Update FP logic insn patterns.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 2:32 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends andnot and any_logic insn patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [62/n] Add vpmaddubsw,vdbpsadbw insn patterns.

2014-09-29 Thread Uros Bizjak
On Fri, Sep 26, 2014 at 4:09 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch introduces patterns for vpmaddubsw and vdbpsadbw insn. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

[PATCH, i386]: Enable reminder{sd,df,xf} and fmod{sf,df,xf} only for flag_finite_math_only.

2014-09-30 Thread Uros Bizjak
. It may, however, yield faster code for programs that do not require the guarantees of these specifications. 2014-09-30 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only. (fmodmode3): Ditto. (fpremxf4_i387): Ditto

Re: [PATCH X86, PR62128] Rotate pattern for AVX2

2014-09-30 Thread Uros Bizjak
On Tue, Sep 30, 2014 at 6:47 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Patch resubmitted from https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01400.html The patch fix PR62128 and gcc.target/i386/pr52252-atom.c in core-avx2 make check. The test in pr62128 is exactly TEST 22 from

Re: [PATCH X86, PR62128] Rotate pattern for AVX2

2014-09-30 Thread Uros Bizjak
On Tue, Sep 30, 2014 at 7:06 PM, Uros Bizjak ubiz...@gmail.com wrote: On Tue, Sep 30, 2014 at 6:47 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Patch resubmitted from https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01400.html The patch fix PR62128 and gcc.target/i386/pr52252-atom.c

Re: [PATCH X86, PR62128] Rotate pattern for AVX2

2014-09-30 Thread Uros Bizjak
On Tue, Sep 30, 2014 at 8:08 PM, Uros Bizjak ubiz...@gmail.com wrote: On Tue, Sep 30, 2014 at 7:06 PM, Uros Bizjak ubiz...@gmail.com wrote: On Tue, Sep 30, 2014 at 6:47 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Patch resubmitted from https://gcc.gnu.org/ml/gcc-patches/2014-09

Re: [PATCH X86, PR62128] Rotate pattern for AVX2

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 12:13 AM, Evgeny Stupachenko evstu...@gmail.com wrote: expand_vselect for some reason ignores the expander. Does it work with expanders? The comment talks about insn only: /* Construct (set target (vec_select op0 (parallel perm))) and return true if that's a valid

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 12:16 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Getting back to initial patch, is it ok? IMO, we should start with Jakub's proposed patch [1] [1] https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00010.html Uros. It fixes gcc.target/i386/pr52252-atom.c for AVX2 make

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 1:38 PM, Jakub Jelinek ja...@redhat.com wrote: That doesn't compile, will post a new version; got interrupted when I found that in GCC_TEST_RUN_EXPENSIVE=1 make check-gcc RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' one test is miscompiled even

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 2:17 PM, Jakub Jelinek ja...@redhat.com wrote: On Wed, Oct 01, 2014 at 01:45:54PM +0200, Uros Bizjak wrote: OK. Thanks. Second step is a tiny optimization, for the simplified 122 (now 24) vshuf-v4di.c testcase: typedef unsigned long long V __attribute__ ((vector_size

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 2:56 PM, Jakub Jelinek ja...@redhat.com wrote: And now the expand_vec_perm_palignr improvement, tested with GCC_TEST_RUN_EXPENSIVE=1 make check-gcc \ RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' E.g. typedef unsigned long long V __attribute__

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 4:12 PM, Jakub Jelinek ja...@redhat.com wrote: On Wed, Oct 01, 2014 at 03:09:59PM +0200, Uros Bizjak wrote: 2014-10-01 Jakub Jelinek ja...@redhat.com * config/i386/i386.c (expand_vec_perm_palignr): Handle 256-bit vectors for TARGET_AVX2. Please

Re: [PATCH, i386, Pointer Bounds Checker 30/x] Size relocation

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 4:10 PM, Ilya Enkovich enkovich@gmail.com wrote: +;; Return true if size of VALUE can be stored in a sign +;; extended immediate field. +(define_predicate x86_64_immediate_size_operand + (match_code symbol_ref) +{ + if (!TARGET_64BIT) +return true; + +

Re: [PATCH, i386, Pointer Bounds Checker 30/x] Size relocation

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 7:02 PM, Ilya Enkovich enkovich@gmail.com wrote: 2014-10-01 19:17 GMT+04:00 Uros Bizjak ubiz...@gmail.com: On Wed, Oct 1, 2014 at 4:10 PM, Ilya Enkovich enkovich@gmail.com wrote: +;; Return true if size of VALUE can be stored in a sign +;; extended immediate

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-01 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 2:56 PM, Jakub Jelinek ja...@redhat.com wrote: On Wed, Oct 01, 2014 at 02:25:01PM +0200, Uros Bizjak wrote: OK. And now the expand_vec_perm_palignr improvement, tested with GCC_TEST_RUN_EXPENSIVE=1 make check-gcc \ RUNTESTFLAGS='--target_board=unix/-mavx2 dg

Re: [PATCH 1/2, x86] Add palignr support for AVX2.

2014-10-02 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 10:43 PM, Jakub Jelinek ja...@redhat.com wrote: For PR62128, IMHO the right fix is attached. Note, this is again covered in vshuf-*.c tests (test 22 in both vshuf-v32*.c and vshuf-v16*.c). With that attached patch, pr62128.c (aka test_22 in vshuf-v32qi.c), changes:

Re: [PATCH, i386, Pointer Bounds Checker 30/x] Size relocation

2014-10-02 Thread Uros Bizjak
On Thu, Oct 2, 2014 at 10:23 AM, Ilya Enkovich enkovich@gmail.com wrote: 2014-10-01 Ilya Enkovich ilya.enkov...@intel.com * config/i386/i386.md (UNSPEC_SIZEOF): New. (move_size_reloc_mode): New. * config/i386/predicates.md (symbol_operand): New.

[RFC, RFH PATCH, i386] Fix gcc.target/i386/pr61403.c FAIL with -mavx2

2014-10-02 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 9:03 PM, Uros Bizjak ubiz...@gmail.com wrote: And now the expand_vec_perm_palignr improvement, tested with GCC_TEST_RUN_EXPENSIVE=1 make check-gcc \ RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' E.g. typedef unsigned long long V __attribute__

Re: RFA: one more version of the patch for PR61360

2014-10-03 Thread Uros Bizjak
On Thu, Oct 2, 2014 at 10:13 PM, Vladimir Makarov vmaka...@redhat.com wrote: I guess we achieved the consensus about the following patch to fix PR61360 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61360 The patch was successfully bootstrapped and tested (w/wo -march=amdfam10) on

Re: [PATCH] palignr improvement (PR target/62128)

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 8:52 AM, Jakub Jelinek ja...@redhat.com wrote: Tested with GCC_TEST_RUN_EXPENSIVE=1 make -k check-gcc \ RUNTESTFLAGS='--target_board=unix/-mavx2 dg-torture.exp=vshuf*.c' on x86_64-linux, ok for trunk if it passes bootstrap? As for the previous testcase with distilled

Re: [PATCH i386 AVX512] [60/n] Update 128bit ashrv insn pattern.

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 12:26 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 29 Sep 09:54, Uros Bizjak wrote: +(define_expand vashrv2di3mask_name + [(set (match_operand:V2DI 0 register_operand) + (ashiftrt:V2DI + (match_operand:V2DI 1 register_operand

Re: [PATCH i386 AVX512] [61/n] Update FP logic insn patterns.

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 12:49 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 29 Sep 10:00, Uros Bizjak wrote: + /* There is no vandnp[sd] in avx512f. Use vpandn[qd]. */ + if (!TARGET_AVX512DQ) All other patterns also have mask_applied condition here. Is the above

Re: [PATCH i386 AVX512] [62/n] Add vpmaddubsw,vdbpsadbw insn patterns.

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 1:03 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 29 Sep 10:08, Uros Bizjak wrote: On Fri, Sep 26, 2014 at 4:09 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: +(define_insn avx512bw_pmaddubsw512modemask_name + [(set (match_operand:VI2_AVX512VL

Re: [RFC, RFH PATCH, i386] Fix gcc.target/i386/pr61403.c FAIL with -mavx2

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 1:11 PM, Jakub Jelinek ja...@redhat.com wrote: On Thu, Oct 02, 2014 at 08:34:40PM +0200, Uros Bizjak wrote: Index: i386.c === --- i386.c (revision 215802) +++ i386.c (working copy) @@ -43407,8

Re: [PATCH] Small pre-AVX512F optimization

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 4:32 PM, Jakub Jelinek ja...@redhat.com wrote: Hi! I've noticed that expand_vec_perm_1 completely uselessly builds GC garbage (CONST_VECTOR at least) when AVX512F isn't enabled at all. Ok to just call it for AVX512F? OK. Even better would be to check the modes first

Re: [PATCH] 512-bit gcc.dg/torture/vshuf*.c

2014-10-03 Thread Uros Bizjak
On Fri, Oct 3, 2014 at 4:25 PM, Jakub Jelinek ja...@redhat.com wrote: This patch extends the gcc.dg/torture/ testsuite for 512-bit vectors. Tested with GCC_TEST_RUN_EXPENSIVE=1 make -j32 check-gcc \ RUNTESTFLAGS='--target_board=unix\{-mavx2,-mavx,-mavx512f,-mavx512bw/-mavx512vl\}

[PATCH, RTX]: Additional fix for PR 57003

2014-10-03 Thread Uros Bizjak
fixes this omission. 2014-10-03 Uros Bizjak ubiz...@gmail.com PR rtl-optimization/57003 * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg, also check CALL_INSN_FUNCTION_USAGE for clobbers again after killing regs_invalidated_by_call. Tested on x86_64-linux-gnu {,-m32

Re: RFA: one more version of the patch for PR61360

2014-10-04 Thread Uros Bizjak
On Sat, Oct 4, 2014 at 12:49 PM, Richard Sandiford rdsandif...@googlemail.com wrote: Uros Bizjak ubiz...@gmail.com writes: On Thu, Oct 2, 2014 at 10:13 PM, Vladimir Makarov vmaka...@redhat.com wrote: I guess we achieved the consensus about the following patch to fix PR61360 https

Re: [PATCH,i386] Fix adxintrin on mingw.

2014-10-06 Thread Uros Bizjak
On Thu, Oct 2, 2014 at 4:29 PM, Ilya Tocar tocarip.in...@gmail.com wrote: Hi, sizeof (long) == 4 on windows, so we should use long long as param type. Patch below does it. Ok for trunk? 2014-10-02 Ilya Tocar ilya.to...@intel.com * config/i386/adxintrin.h (_subborrow_u64): Use

[PATCH, RTL]: Fix PR 63483, Scheduler performs Invalid move of aliased memory reference

2014-10-08 Thread Uros Bizjak
certainly don't die anymore, as confirmed by a native alpha-linux-gnu (please note - not alphaev6!) bootstrap and regression test. 2014-10-08 Uros Bizjak ubiz...@gmail.com * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P references when alignment ANDs are involved

Re: [PATCH, RTL]: Fix PR 63483, Scheduler performs Invalid move of aliased memory reference

2014-10-08 Thread Uros Bizjak
On Wed, Oct 8, 2014 at 12:51 PM, Richard Biener rguent...@suse.de wrote: This message revives an old thread [1], where the miscompilation of gfortran on alpha was found that that resulted in: [...] As said in the audit trail of the bugreport I think that the caller of alpha_set_memflags is

Re: [patch] Excessive alignment in ix86_data_alignment

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 10:25 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: On 08 Oct 23:02, Petr Murzin wrote: Hi, I have measured performance impact on Haswell platform according to this input: https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00978.html What about older processors? The

Re: [i386] Replace builtins with vector extensions

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 12:33 PM, Marc Glisse marc.gli...@inria.fr wrote: Ping https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01812.html (another part of the discussion is around https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02288.html ) Most people who commented seem cautiously in favor. The

Re: [i386] Replace builtins with vector extensions

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 2:28 PM, Marc Glisse marc.gli...@inria.fr wrote: On Thu, 9 Oct 2014, Uros Bizjak wrote: On Thu, Oct 9, 2014 at 12:33 PM, Marc Glisse marc.gli...@inria.fr wrote: Ping https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01812.html (another part of the discussion is around

Re: [PATCH i386 AVX512] [64/n] Add rest of VI1-AVX2: vpack[us]wb.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 12:09 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch adds rest of vpack instruction patterns. Bootstrapped. gcc.target/i386.exp tests on top of patch-set show no regressions. under simulator. Is it ok for trunk? gcc/ *

Re: [PATCH i386 AVX512] [65/n] Add rest of VI1-AVX2: mul insn pattern.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 12:19 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This tiny patch extend mulmode insn pattern to support masking. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [66/n] Extend vpalignr insn patterns.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 12:28 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends vpalignr insn patterns. It also introduces dedicated `masked' version of pattern w/o substing. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for

Re: [PATCH i386 AVX512] [67/n] Update constraints in vec_dup insn pattern.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 12:34 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This tiny patch updates constraints in vec_dup insn pattern. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [68/n] Add vpmullw, vpacksdw, pmaddwd insn patterns.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:07 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends vpmullw, vpacksdw and pmaddwd insn patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [69/n] Add vpmulhrsw insn support.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:12 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch adds support for vpmulhrsw insn. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn

Re: [PATCH i386 AVX512] [70/n]

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:36 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch further extends maxmin patterns. You didn't update Subject field ;) Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ *

Re: [PATCH i386 AVX512] [71/n] [Obvious?] Remove redudant iterator attribute.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:39 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This obvious patch removes redundant iterator attribute Bootstrapped. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_attr avx2_avx512f): Remove. OK. Thanks, Uros.

Re: [PATCH i386 AVX512] [72/n] Extend VI itterator.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:47 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends VI mode iterator. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c

Re: [PATCH i386 AVX512] [73/n] Extend reduc min/max autogen.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 1:55 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends pattern for reducation maxmin autogen. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md

Re: [PATCH i386 AVX512] [74/n] Add byte/word max/mix reduction.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 2:02 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (emit_reduc_half): Handle V64QI and V32HI mode. *

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 2:13 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends vec_init-related routines/patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c

Re: [PATCH i386 AVX512] [76/n] Extend int 2 float conversions.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 5:01 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends autogeneration of SI-2-SF conversions. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c

Re: [PATCH i386 AVX512] [77/n] Use blend for cond-set V32HI and V64QI.

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 5:07 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends movcc/vcond autogen. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_sse_movcc):

Re: [PATCH, i386, Pointer Bounds Checker 31/x] Pointer Bounds Checker builtins for i386 target

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 4:07 PM, Ilya Enkovich enkovich@gmail.com wrote: It appeared I changed a semantics of BNDMK expand when replaced tree operations with rtl ones. Original code: + op1 = expand_normal (fold_build2 (PLUS_EXPR, TREE_TYPE (arg1), +

Re: [i386] Replace builtins with vector extensions

2014-10-09 Thread Uros Bizjak
On Thu, Oct 9, 2014 at 7:46 PM, Marc Glisse marc.gli...@inria.fr wrote: If this is accepted, I will gladly prepare patches removing the unused builtins and extending this to a few more operations (integer vectors in particular). If this is not the direction we want to go, I'd like to hear it

[4.9 PATCH, testsuite]: Fix g++.dg/cpp1y/feat-cxx14.C testsuite errors

2014-10-09 Thread Uros Bizjak
Hello! 2014-10-09 Uros Bizjak ubiz...@gmail.com * g++.dg/cpp1y/feat-cxx14.C: Variable templates not in yet. (dg-do): Use c++1y target. Tested on x86_64. OK for branch? Uros. Index: g++.dg/cpp1y/feat-cxx14.C === --- g

Re: [PATCH 2/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 9:43 AM, Evgeny Stupachenko evstu...@gmail.com wrote: i386 specific part of the patch: 2014-10-08 Ilya Enkovich ilya.enkov...@intel.com Vladimir Makarov vmaka...@redhat.com * gcc/config/i386/i386.c (ix86_use_pseudo_pic_reg): New.

[PATCH v2, RTL]: Fix PR 63483, Scheduler performs Invalid move of aliased memory reference

2014-10-10 Thread Uros Bizjak
On Wed, Oct 8, 2014 at 1:56 PM, Uros Bizjak ubiz...@gmail.com wrote: This message revives an old thread [1], where the miscompilation of gfortran on alpha was found that that resulted in: [...] As said in the audit trail of the bugreport I think that the caller of alpha_set_memflags

Re: [PATCH 3/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 9:58 AM, Evgeny Stupachenko evstu...@gmail.com wrote: the patch improves performance when previous are applied. It makes RTL loop invariant behavior for GOT loads same as it was before the 2 previous patches. The patch fixes x86 address cost so that cost for addresses

Re: [PATCH 2/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 9:43 AM, Evgeny Stupachenko evstu...@gmail.com wrote: i386 specific part of the patch: 2014-10-08 Ilya Enkovich ilya.enkov...@intel.com Vladimir Makarov vmaka...@redhat.com * gcc/config/i386/i386.c (ix86_use_pseudo_pic_reg): New.

Re: [PATCH x86] Update PARTIAL_REG_DEPENDENCY tune

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 5:07 PM, Evgeny Stupachenko evstu...@gmail.com wrote: We've met several performance issues (up to 15%) on Silvermont caused by the PARTIAL_REG_DEPENDENCY tuning. Previously discussed here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57954 Propose removing Silvermont

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 5:47 PM, Ilya Tocar tocarip.in...@gmail.com wrote: My strong preference would be: enum machine_mode maskmode = mode; rtx (*gen) (rtx, rtx, rtx, rtx); right below the enum machine_mode mode = GET_MODE (d ? d-op0 : op0); line and then inside of the first switch just

Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI

2014-10-10 Thread Uros Bizjak
On Wed, Oct 1, 2014 at 8:57 PM, Vladimir Makarov vmaka...@redhat.com wrote: The problem is in code introduced by Bernd in IRA and caller-saves.c in 2012. It is basically an optimization for functions returning always the same result as one argument (e.g. memcpy returning 1st argument).

Re: [PATCH, i386, Pointer Bounds Checker 33/x] MPX ABI

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 7:29 PM, Ilya Enkovich enkovich@gmail.com wrote: 2014-10-10 21:10 GMT+04:00 Uros Bizjak ubiz...@gmail.com: On Wed, Oct 1, 2014 at 8:57 PM, Vladimir Makarov vmaka...@redhat.com wrote: The problem is in code introduced by Bernd in IRA and caller-saves.c in 2012

Re: [PATCH v2, RTL]: Fix PR 63483, Scheduler performs Invalid move of aliased memory reference

2014-10-10 Thread Uros Bizjak
passing possibly aliasing store. Attached v2 patch implements the same approach in all alias.c places that declare MEM_READONLY_P operands as never aliasing. 2014-10-10 Uros Bizjak ubiz...@gmail.com * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P references when

Re: [PATCH 2/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-13 Thread Uros Bizjak
On Mon, Oct 13, 2014 at 5:01 PM, Evgeny Stupachenko evstu...@gmail.com wrote: -#define PIC_OFFSET_TABLE_REGNUM \ - ((TARGET_64BIT (ix86_cmodel == CM_SMALL_PIC \ - || TARGET_PECOFF)) \ - || !flag_pic ? INVALID_REGNUM \ - : reload_completed ? REGNO (pic_offset_table_rtx) \

Re: [PATCH 3/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-13 Thread Uros Bizjak
On Mon, Oct 13, 2014 at 5:17 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Patch updated with the comment: diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 2a64d2d..5fd6a82 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12455,9 +12455,18 @@

Re: [PATCH 1/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-13 Thread Uros Bizjak
On Mon, Oct 13, 2014 at 4:53 PM, Evgeny Stupachenko evstu...@gmail.com wrote: ChangeLog for testsuite: 2014-10-13 Evgeny Stupachenko evstu...@gmail.com PR target/8340 PR middle-end/47602 PR rtl-optimization/55458 * gcc.target/i386/pic-1.c: Remove dg-error

Re: [PATCH 1/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

2014-10-13 Thread Uros Bizjak
On Mon, Oct 13, 2014 at 6:32 PM, Evgeny Stupachenko evstu...@gmail.com wrote: Reattached. On Mon, Oct 13, 2014 at 8:22 PM, Uros Bizjak ubiz...@gmail.com wrote: On Mon, Oct 13, 2014 at 4:53 PM, Evgeny Stupachenko evstu...@gmail.com wrote: ChangeLog for testsuite: 2014-10-13 Evgeny

[PATCH, rtl-optimization] Fix PR63475, Postreload CSE propagates aliased memory operand

2014-10-14 Thread Uros Bizjak
checking for MEM_READONLY_P. The patch also removes a couple of unneeded and unused calls to canon_rtx, also to show the level of bitrot in this area ... 2014-10-14 Uros Bizjak ubiz...@gmail.com PR rtl-optimization/63475 * alias.c (true_dependence_1): Always use get_addr to extract

Re: [PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-10-14 Thread Uros Bizjak
On Tue, Oct 14, 2014 at 9:18 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, It seems like I missed to post uppdated patch. On 25 Sep 20:11, Uros Bizjak wrote: I'd rather go with the second approach, it is less confusing from the maintainer POV. All other patterns with masking

Re: [PATCH i386 AVX512] [76/n] Extend int 2 float conversions.

2014-10-15 Thread Uros Bizjak
On Wed, Oct 15, 2014 at 3:37 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7c34431..8a7853e 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -18811,6 +18811,19 @@

[PATCH, i386]: Fix PR 59432, sync/atomic FAILs on 32bit x86 systems without .cfi directives

2014-10-15 Thread Uros Bizjak
directives to fixup the mess, but these were not available on the systems without .cfi directives (e.g. Centos 5 and Solaris). The patch fixes this problem for good by removing problematic alternative that tried to skip %ebx allocations. 2014-10-15 Uros Bizjak ubiz...@gmail.com PR go/59432

Re: [PATCH, i386]: Fix PR 59432, sync/atomic FAILs on 32bit x86 systems without .cfi directives

2014-10-16 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 11:06 AM, Andi Kleen a...@firstfloor.org wrote: Now that %ebx is no more fixed, we can remove all PIC related complications in atomic_compare_and_swapdwi_doubleword pattern. The immediate consequence is, that we avoid hidden xchgs that clobbered unwinding state.

[RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h

2014-10-16 Thread Uros Bizjak
with gcc 5.0 will ignore -march=native, but I think this should be acceptable. Bootstrapped build will still work as expected. 2014-10-16 Uros Bizjak ubiz...@gmail.com * config/i386/cpuid.h (__cpuid): Remove definitions that handle %ebx register in a special way. (__cpuid_count): Ditto

Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h

2014-10-16 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 11:36 AM, Jakub Jelinek ja...@redhat.com wrote: Now that %ebx is also allocatable in PIC modes, we can cleanup config/i386/cpuid considerably. I propose to remove all PIC related specializations of __cpuid and __cpuid_count and protect the compilation with #if

Re: [PATCH i386 AVX512] [79/n] Extend expand_mul_widen_hilo.

2014-10-16 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 8:28 AM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends expand_mul_widen_hilo to 512-bit QI,SI,HI modes. Bootstrapped and regtested gcc/ * config/i386/i386.c (ix86_expand_mul_widen_hilo): Handle V32HI, V16SI, V64QI modes. Is

Re: [PATCH i386 AVX512] [78/n] Use blend for inserting.

2014-10-16 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 9:28 AM, Jakub Jelinek ja...@redhat.com wrote: On Thu, Oct 16, 2014 at 10:24:45AM +0400, Kirill Yukhin wrote: Hello, This patch extends insertion hook. AVX-512* tests on top of patch-set all pass under simulator. gcc/ * config/i386/i386.c

Re: [PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-16 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 1:55 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This patch extends expand_sse2_mulvxdi3. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3):

Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h

2014-10-17 Thread Uros Bizjak
On Thu, Oct 16, 2014 at 12:25 PM, Uros Bizjak ubiz...@gmail.com wrote: Now that %ebx is also allocatable in PIC modes, we can cleanup config/i386/cpuid considerably. I propose to remove all PIC related specializations of __cpuid and __cpuid_count and protect the compilation

Re: [PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 2:32 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello Uroš, On 16 Oct 14:29, Uros Bizjak wrote: + if (mode == V4DImode) + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); + else if (mode == V2DImode) + emit_insn

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 2:57 PM, Jakub Jelinek ja...@redhat.com wrote: On Fri, Oct 17, 2014 at 04:28:12PM +0400, Kirill Yukhin wrote: I wonder whether for these modes it can ever be beneficial to build them through interleaves/concatenations etc., if it wouldn't be better to build them by

Re: [PATCH i386 AVX512 Boostrap] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 4:25 PM, Kirill Yukhin kirill.yuk...@gmail.com wrote: Hello, This is fix for bootstrap failure. Is it OK? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor conditions to fix bootstrap. Well, OK. Uros.

Re: [PATCH 5/5] Use preferred_for_speed in i386.md

2014-10-17 Thread Uros Bizjak
On Fri, Oct 17, 2014 at 4:54 PM, Richard Sandiford richard.sandif...@arm.com wrote: Undo the original fix for 61630 and use preferred_for_speed in the problematic pattern. I've not written many gcc.target/i386 tests so the markup might need some work. Richard gcc/ * lra.c (lra):

Re: [x86] Replace builtins with vector extensions

2014-10-17 Thread Uros Bizjak
On Sun, Oct 12, 2014 at 10:36 PM, Marc Glisse marc.gli...@inria.fr wrote: for the first patch, it is actually easier to repost the old patch with some new testcases. That doesn't mean it has to go in all at once, but you can comment on various things. If that's a problem I'll separate them and

[PATCH, rtl-optimization]: Remove const_alias_set

2014-10-19 Thread Uros Bizjak
altogether. The MEM_READONLY_P successfully supersedes const_alias_set functionality, and this is also confirmed by the removal of the second varasm_init_once call in the Go frontend. In an off-list discussion, Ian agrees that attached patch should also fix the problem. 2014-10-19 Uros Bizjak

Re: [PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-10-20 Thread Uros Bizjak
On Mon, Oct 20, 2014 at 3:41 PM, Jakub Jelinek ja...@redhat.com wrote: On Mon, Oct 20, 2014 at 05:30:36PM +0400, Kirill Yukhin wrote: Unfortunately this caused PR63600. The problem is that VI_AVX2 mode iterator includes V2DI and for AVX2 also V4DI, but for pre-ssse3 ix86_expand_sse2_abs

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-20 Thread Uros Bizjak
On Mon, Oct 20, 2014 at 5:19 PM, Ilya Tocar tocarip.in...@gmail.com wrote: The patch is OK with the above improvement. Will commit version below, if no objections in 24 hours. Sorry, I've missed palignr, which should also have v64qi version, and lost return in

[PATCH, fixincludes]: Add pthread.h to glibc_c99_inline_4 fix

2014-10-21 Thread Uros Bizjak
: extern __inline __attribute__ ((__gnu_inline__)) void __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame) 2014-10-21 Uros Bizjak ubiz...@gmail.com * inclhack.def (glibc_c99_inline_4): Add pthread.h to files. * fixincl.x: Regenerate. Bootstrapped and regression tested

Re: [PATCH] Fix ubsan i?86 {add,sub,mul}vmode4 patterns

2014-03-25 Thread Uros Bizjak
On Tue, Mar 25, 2014 at 8:18 PM, Jakub Jelinek ja...@redhat.com wrote: On Tue, Mar 25, 2014 at 04:06:40PM +0100, Jakub Jelinek wrote: On Tue, Mar 25, 2014 at 12:39:18PM +0100, Uros Bizjak wrote: The patch is OK in principle, but we could follow established practice and use separate

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