.
+ Code was contributed by Sergey Guriev, Alexander Ivchenko,
+ Maxim Kuznetsov, Sergey Lega, Anna Tikhonova, Ilya Tocar,
+ Andrey Turetskiy, Ilya Verbin, Kirill Yukhin and
+ Michael Zolotukhin of Intel, Corp./dd/dt
Index: htdocs/gcc-5/changes.html
Hello Richard,
On 12 Nov 10:23, Richard Biener wrote:
On Wed, 5 Nov 2014, Ilya Verbin wrote:
Yes please.
Please make sure that regular LTO bootstrap still works - LTO is
only tested lightly in the testsuite.
Current main trunk fails to bootstrap w/ `bootstrap-lto':
git/gcc/configure
On 12 Nov 15:09, Richard Biener wrote:
On Wed, 12 Nov 2014, Kirill Yukhin wrote:
Hello Richard,
On 12 Nov 10:23, Richard Biener wrote:
On Wed, 5 Nov 2014, Ilya Verbin wrote:
Yes please.
Please make sure that regular LTO bootstrap still works - LTO is
only tested lightly
Hello Marc, Uroš,
On 10 Nov 21:33, Uros Bizjak wrote:
On Sun, Nov 9, 2014 at 5:26 PM, Marc Glisse marc.gli...@inria.fr wrote:
Hello,
and == for integer vectors of size 128. I was surprised not to find
_mm_cmplt_epi64 anywhere. Note that I can do the same for size 256, but not
512,
On 11 Nov 10:28, Marc Glisse wrote:
On Tue, 11 Nov 2014, Kirill Yukhin wrote:
Hello Marc, Uroš,
On 10 Nov 21:33, Uros Bizjak wrote:
On Sun, Nov 9, 2014 at 5:26 PM, Marc Glisse marc.gli...@inria.fr wrote:
Hello,
and == for integer vectors of size 128. I was surprised not to find
Hello Richard,
On 05 Nov 13:50, Jakub Jelinek wrote:
On Wed, Nov 05, 2014 at 03:46:55PM +0300, Ilya Verbin wrote:
+
node-register_symbol ();
LGTM.
Are you ok with the patch?
Jakub
--
Thanks, K
Hello,
On 24 Oct 17:56, Yury Gribov wrote:
...
+const struct test_data_t test_data[] = {
+ { STRTOL, -0x8000, 0, -0x8000L, 0 },
...
+ switch (test_data[i].fun)
+ {
+ case STRTOL:
+ res = strtol (test_data[i].nptr, 0, test_data[i].base);
+ break;
As
On 30 Oct 09:32, Uros Bizjak wrote:
On Thu, Oct 30, 2014 at 8:50 AM, Jan Beulich jbeul...@suse.com wrote:
gcc/testsuite:
2014-10-30 Jan Beulich jbeul...@suse.com
* gcc.target/i386/i386.exp: Extend option set to test
vect-args.c with to include -mavx, -mavx2, and
Hello Richard, Jan,
On 16 Oct 13:22, Jakub Jelinek wrote:
On Thu, Oct 16, 2014 at 03:17:36PM +0400, Ilya Verbin wrote:
The rest LGTM, but please run it through LTO review (Richard/Honza) too.
Ping?
--
Thanks, k
Jakub
Hello Richard, Jan,
On 08 Oct 11:23, Jakub Jelinek wrote:
On Tue, Sep 30, 2014 at 06:53:20PM +0400, Ilya Verbin wrote:
Bootstrapped and regtested on top of patch 2. Is it OK for trunk?
LGTM, with the requested var/section renames.
Would like if Honza and/or Richard had a look at the
Hello,
Patch was separated into two parts: tree-core.h changes and target
changes.
On 21 Oct 16:20, Jakub Jelinek wrote:
On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote:
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree
Hello,
On 22 Oct 10:09, Richard Biener wrote:
On Tue, Oct 21, 2014 at 5:08 PM, Kirill Yukhin kirill.yuk...@gmail.com
wrote:
On 21 Oct 18:47, Kirill Yukhin wrote:
On 21 Oct 16:20, Jakub Jelinek wrote:
On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote:
--- a/gcc/tree.h
Hello,
This patch introduces built-ins for gather insns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_GATHER3ALTSIV4DF,
IX86_BUILTIN_GATHER3ALTDIV8SF,
Hello,
This patch adds built-ins for scatter insns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.c
(ix86_init_mmx_sse_builtins):
Define __builtin_ia32_gather3siv2df, __builtin_ia32_gather3siv4df,
Hello,
This tiny patch adds couple of missing immediate checks.
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_args_builtin): Handle
avx_vpermilv4df_mask, avx_shufpd256_mask,
Hello,
This patch extends sse-* and avx-* tests
which checks immediates/options.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* testsuite/g++.dg/other/i386-2.C: Add new options.
* testsuite/g++.dg/other/i386-3.C: Ditto.
Hello,
This patch introduces necessary AVX-512* intrinsics headers.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/avx512bwintrin.h: New.
* config/i386/avx512dqintrin.h: Ditto.
*
Hello,
This patch adds tests for new intrinsics.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* testsuite/gcc.target/i386/avx512bw-check.h: New.
* testsuite/gcc.target/i386/avx512bw-kunpckdq-1.c: Ditto.
*
Hello,
This patch introduces rest of intrinsics (compare).
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/avx512bwintrin.h: Add new intrinsics.
* config/i386/avx512vlbwintrin.h: Ditto.
*
Hello,
This patch fixes kmov* insn generation
and adds memory alternative to `movqi_internal'
pattern
Reg-test included.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.md (movhi_internal): Always detect mskmov.
On 22 Oct 16:48, Kirill Yukhin wrote:
Hello,
This patch adds tests for new intrinsics.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* testsuite/gcc.target/i386/avx512bw-check.h: New.
Please, disregard testsuite/gcc.target
On 22 Oct 16:37, Kirill Yukhin wrote:
gcc/
* testsuite/g++.dg/other/i386-2.C: Add new options.
Please, disregard testsuite/gcc.target in overall ChangeLog entry.
--
Thanks, K
On 22 Oct 16:51, Kirill Yukhin wrote:
gcc/
* testsuite/gcc.target/i386/avx512bw-vpcmpequb-1.c: New.
Please, disregard testsuite/ in overall ChangeLog entry.
--
Thanks, K
Hello,
On 21 Oct 11:17, Richard Biener wrote:
On Mon, Oct 20, 2014 at 3:50 PM, Jakub Jelinek ja...@redhat.com wrote:
On Mon, Oct 20, 2014 at 05:41:25PM +0400, Kirill Yukhin wrote:
Hello,
This patch adds (almost) all built-ins needed by
AVX-512VL,BW,DQ intrinsics.
Main questionable
On 21 Oct 16:20, Jakub Jelinek wrote:
On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote:
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree);
#define DECL_COMDAT(NODE) \
(DECL_WITH_VIS_CHECK (NODE
On 21 Oct 18:47, Kirill Yukhin wrote:
On 21 Oct 16:20, Jakub Jelinek wrote:
On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote:
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree);
#define DECL_COMDAT(NODE
Hello,
On 20 Oct 14:36, Jakub Jelinek wrote:
On Tue, Oct 14, 2014 at 11:18:28AM +0400, Kirill Yukhin wrote:
* config/i386/sse.md (define_mode_iterator VI_AVX2): Extend
to support AVX-512BW.
(define_mode_iterator VI124_AVX2_48_AVX512F): Remove.
(define_expand
Hello Jakub,
On 15 Oct 18:23, Jakub Jelinek wrote:
On Thu, Oct 09, 2014 at 04:13:25PM +0400, Kirill Yukhin wrote:
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -39821,6 +39823,9 @@ ix86_expand_vector_init_duplicate (bool mmx_ok,
enum machine_mode mode,
goto widen
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 (gen_avx512dq_mulv4di3 (op0, op1, op2));
Should this be v2di ?
Right, copy-and-paste
Hello,
This is fix for bootstrap failure.
Is it OK?
gcc/
* config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor
conditions to fix bootstrap.
--
Thanks, K
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7040200..3ddaf3d 100644
--- a/gcc/config/i386/i386.c
Hello,
This patch extends insertion hook.
AVX-512* tests on top of patch-set all pass
under simulator.
gcc/
* config/i386/i386.c
(ix86_expand_vector_set): Handle V8DF, V8DI, V16SF, V16SI, V32HI, V64QI
modes.
--
Thanks, K
diff --git a/gcc/config/i386/i386.c
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 it ok for trunk?
--
Thanks, K
diff --git a/gcc/config/i386/i386.c
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): Extend
expand_sse2_mulvxdi3.
--
Thanks, K
diff --git a/gcc/config/i386/i386.c
Hello Uroš,
On 09 Oct 18:05, Uros Bizjak wrote:
On Thu, Oct 9, 2014 at 5:01 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
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 use some consistent
template, so I'd suggest using the same approach for
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
Same in plain text:
For `-O2':
TestPrevious Current Ratio(%)
400.perlbench 46.2000 46.2000 +0%
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/
* config/i386/sse.md
(define_insn sse2_avx2_packsswbmask_name): Add masking.
(define_insn
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
(define_expand mulmode3mask_name): Add masking.
--
Thanks, K
diff --git
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 trunk?
gcc/
* config/i386/sse.md
(define_mode_iterator SSESCALARMODE):
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
(define_insn vec_dupmode): Update constraints.
--
Thanks, K
diff --git
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
(define_c_enum unspec): Add UNSPEC_PMADDWD512.
(define_mode_iterator VI2_AVX2):
On 09 Oct 15:07, Kirill Yukhin wrote:
+(define_insn *mulmode3mask_name
+ [(set (match_operand:VI2_AVX2 0 register_operand =x,v)
+ (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 nonimmediate_operand %0,v)
+(match_operand:VI2_AVX2 2 nonimmediate_operand
xm,vm
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 avx512bw_umulhrswv32hi3mask_name): New.
(define_expand ssse3_avx2_pmulhrswmode3_mask):
Hello,
This patch further extends maxmin patterns.
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 *codemode3_finitemask_nameround_saeonly_name):
Fix pattern conditions order.
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.
--
Thanks, K
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index a833cd9..cf415c3 100644
---
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
(ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes.
* config/i386/sse.md
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
(define_mode_iterator REDUC_SMINMAX_MODE): Add V64QI and V32HI modes.
--
Thanks, K
diff
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.
* config/i386/sse.md
(define_mode_iterator VI_AVX512BW): New.
(define_expand
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
(ix86_expand_vector_init_duplicate): Handle V64QI and V32HI modes,
update V8HI, V16QI,
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
(ix86_expand_vector_convert_uns_vsivsf): Handle V16SI mode and
TARGET_AVX512VL.
--
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): Handle V64QI and V32HI mode.
(ix86_expand_int_vcond): Ditto.
--
Thanks, K
Hello folks,
On 09 Oct 14:57, Uros Bizjak wrote:
On Thu, Oct 9, 2014 at 2:28 PM, Marc Glisse marc.gli...@inria.fr wrote:
On Thu, 9 Oct 2014, Uros Bizjak wrote:
OK, let's go in the proposed way, more detailed:
- we begin with +-*/ of float/double vectors. IMO, this would result
in a
Hello Jakub,
On 07 Oct 21:40, Jakub Jelinek wrote:
On Tue, Oct 07, 2014 at 10:12:22PM +0400, Ilya Verbin wrote:
OT, from the various IRC discussions with Kirill on IRC, it seems you or
your colleges typed pretty much all target related tests from OpenMP 4.0.1
examples, can those be also
Hello Jakub,
On 03 Oct 16:39, Jakub Jelinek wrote:
--- gcc/config/i386/sse.md.jj 2014-09-26 10:33:18.0 +0200
+++ gcc/config/i386/sse.md2014-10-03 15:03:44.170446452 +0200
@@ -10386,7 +10386,8 @@ (define_mode_iterator VEC_PERM_CONST
(V8SI TARGET_AVX) (V4DI TARGET_AVX)
Hello,
This patch extends permutations for AVX-512*.
Comments are welcome!
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_vec_perm_vpermi2): Handle V64QImode, V8HImode, V16HImode,
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)
+ (match_operand:V2DI 2 nonimmediate_operand)))]
+ TARGET_XOP ||
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 condition correct?
I think this is correct since in this pattern we use AVX-512
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 0 register_operand =v)
+ (unspec:VI2_AVX512VL
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
(define_insn avx512f_blendmmode): Delete.
(define_insn
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
(define_expand vec_widen_umult_even_v8simask_name): Add masking.
(define_insn
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
(ix86_expand_args_builtin): Handle CODE_FOR_avx512vl_cmpv4di3_mask,
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
(define_mode_iterator VI128_128 [V16QI V8HI V2DI]): Delete.
(define_expand vashrmode3mask_name):
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
(define_insn sse_andnotVF_128_256:mode3mask_name): Add masking,
use VF_128_256 mode
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
(define_c_enum unspec): Add UNSPEC_DBPSADBW, UNSPEC_PMADDUBSW512.
Author: Kirill Yukhin kirill.yuk...@intel.com
Date: Thu Sep 25 12:01:15 2014 +0400
AVX-512. 52.1. D2M and M2D patterns.
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 690bed5..9566884 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
On 25 Sep 13:42, Kirill Yukhin wrote:
Hello,
As suggested, this is splitted out part of [52/n] patch,
which introduces new vec2mask and mask2vec insn patterns.
As suggested, I've got rid off use of UNSPEC_CVTINT2MASK
unspec. Unfortunatelly, only partially.
I suppose, that vec2mask generic
Hello,
Patch in the bottom extends plus/minus/abs/andnot patterns
to support AVX-512.
I've used questionable hack in the patterns.
Instead of writing dozen similar patterns with masking
I've simply substed them, prohibiting non-mask variant in
the pattern condition. E.g.:
(define_expand
Hello,
Patch in the bottom adds support for pd2dq and dq2pd
conversions.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.c
(avx512f_ufix_notruncv8dfv8si_mask_round): Rename to ...
Hello,
Patch in the bottom adds support for ps2dq and ps2pd
conversions.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_c_enum unspec): Add UNSPEC_CVTINT2MASK.
(define_insn
Hello,
Patch in the bottom fixes bootstrap
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63235)
gcc/
* varpool.c (varpool_node::add): Pass decl attributes
to lookup_attribute.
Is it ok for trunk?
--
Thanks, K
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 8001c93..3761f14
Hello,
Patch in the bottom extends to EVEX constraints
of vec_setmode_0 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
(define_insn vec_setmode_0): Add EVEX version.
--
Thanks, K
diff --git
Hello,
patch in the bottom introduces support for
vmov[dlh]dup insns.
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 avx_movshdup256mask_name): Add masking.
(define_insn
Hello,
Patch in the bottom extends `perm' 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
(define_expand avx2_avx512f_permmode): Rename to ...
(define_expand avx2_avx512bw_permmode):
Hello,
Patch in the bottom extends pmov insns.
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 avx2_codev16qiv16hi2mask_name): Add masking.
(define_insn
Hello,
Patch in the bottom extends insert insn
patterns.
It also removes some exapnds.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
Hello,
Patch in the bottom extends more shuffle patterns.
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_args_builtin): Handle CODE_FOR_sse2_shufpd,
CODE_FOR_sse2_sse2_shufpd_mask,
Hello,
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_c_enum unspec): Add
Hello,
Patch in the bottom extends truncation insn patterns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
*
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
Forgot to mention, that patch adds support for PSHUF[HL]W
insns.
--
Thanks, K
Hello,
Patch in the bottom extends/adds patterns for masked unpack
instructions.
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 avx_unpckhpd256mask_name): Add masking.
(define_insn
Hello,
This patch adds rest of unpack 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
(define_insn avx_unpckhps256mask_name): Add masking.
(define_insn
Hello,
Patch in the bottom extends AVX-512 shufps.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_expand avx_shufps256mask_expand4_name): Add masking.
(define_insn
Hello,
This patch supports AVX-512's vshufpd insns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_expand avx_shufpd256mask_expand4_name): Add masking.
(define_insn
Hello Uroš,
On 16 Sep 09:47, Uros Bizjak wrote:
+ TARGET_AVX512DQ (INTVAL (operands[2]) = INTVAL (operands[3]) - 1)
Ouch, you have assignment instead of comparison here!
Thanks, fixed!
+ (set (attr memory)
+ (if_then_else (match_test MEM_P (operands[0]))
+ (const_string
Hello,
This patch extends extract insn patterns.
It also fixes ICE on testsuite when F16C switched off.
Also it fixes condition in old xtract pattern.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.c
Hello,
Patch in the bottom (derived with git diff -w)
extends ashrv insns patterns.
I choosen to add `_1' to `VI24_AVX512BW_1' mode iterator
because of it is irregular.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
*
Hello,
Patch in the bottom extends vcvtps2ph 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
(define_insn vcvtph2psmask_name): Add masking.
(define_insn *vcvtph2ps_loadmask_name):
Hello,
Patch in the bottom extends integer max/min patterns.
Also, it seems, like rounding variant was generated
for maxmin patterns. Bug fixed.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md (VI128_256): Delete.
Hello,
Patch in the bottom extends patterns for rotate, ternlog and align.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_mode_iterator VI48_AVX512VL): New.
(define_expand
Hello,
patch in the bottom extends PERMVAR based patterns.
Hello,
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_mode_attr avx2_avx512): Rename from avx2_avx512bw.
(define_mode_iterator
Hello,
Patch in the bottom extends perm[t|i] patterns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_expand avx512_vpermi2varmode3_maskz with VI48F
mode iterator): Rename from
Hello,
Patch in the bottom extends gather instructions support.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_expand avx512_gathersimode): Rename from
avx512f_gathersimode.
Hello Uroš,
On 28 Aug 20:44, Uros Bizjak wrote:
On Thu, Aug 28, 2014 at 3:48 PM, Kirill Yukhin kirill.yuk...@gmail.com
wrote:
Please document these changes as:
[new_pattern_name]: Rename from [old_pattern_name] and use VF_AVXyy
mode iterator.
-(define_insn
Hello Uroš,
On 30 Aug 10:37, Uros Bizjak wrote:
On Fri, Aug 29, 2014 at 4:00 PM, Kirill Yukhin kirill.yuk...@gmail.com
wrote:
Please note that you can use UNSPEC_COMPRESS everywhere, there is no
need for UNSPEC_COMPRESS_STORE and can be deleted. On a related note,
it looks to me
On 30 Aug 10:21, Uros Bizjak wrote:
Hello,
It looks to me that _SCALAR unspecs are redundant, and should be
possible to use UNSPEC_REDUCE for all patterns without unwanted
matching.
Updated patch in the bottom
gcc/
* config/i386/i386.c
(ix86_expand_args_builtin): Handle
Hello Uroš,
On 28 Aug 20:34, Uros Bizjak wrote:
On Thu, Aug 28, 2014 at 3:15 PM, Kirill Yukhin kirill.yuk...@gmail.com
wrote:
Is it ok for trunk?
There is one inconsistency - existing pattern is named ..._mask_store,
new ones are named ..._store_mask. Is there a reason for this
difference
Hello Uroš,
On 28 Aug 20:44, Uros Bizjak wrote:
On Thu, Aug 28, 2014 at 3:48 PM, Kirill Yukhin kirill.yuk...@gmail.com
wrote:
Is it ok for trunk?
I'd suggest to put noavx512 at the beginning, so:
noavx512_sd_mask_codeforfma_fmsub_modesd_maskz_nameround_name
This is not possible currently
Hello,
Patch in the bottom updates few UNSPEC insn patterns w/ new
mode iterator. Additionally names were slightly changed.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/i386.c
(avx512f_getmantv2df_round):
Hello,
Patch in the bottom adds support for reduce,range,fpclass.
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_args_builtin): Handle avx512dq_rangepv8df_mask_round,
Hello,
Patch in the bottom extends support of compress and expand
insns.
Bootstrapped.
AVX-512* tests on top of patch-set all pass
under simulator.
Is it ok for trunk?
gcc/
* config/i386/sse.md
(define_mode_iterator VI48F): New.
(define_insn avx512f_compressmode_mask):
301 - 400 of 814 matches
Mail list logo