On Tue, Dec 24, 2013 at 5:57 AM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: >> Patch attached. >> >> Ok for trunk? > > > Just noticed Uros's input about predicates. So, ok with fix of predicate?
Please retest and repost the patch with the predicate fix. Looks good otherwise, with a couple of minor changes below: diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vextractf32x4-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vextractf32x4-2.c new file mode 100644 index 0000000..26d7c3c --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/avx512f-vextractf32x4-2.c @@ -0,0 +1,54 @@ +/* { dg-do run } */ +/* { dg-options "-O2 -mavx512f -DAVX512F" } */ Please move defines from options to source. +(define_subst_attr "round_prefix" "round" "vex" "evex") (define_subst_attr "round_mode512bit_condition" "round" "1" "(GET_MODE (operands[0]) == V16SFmode || GET_MODE (operands[0]) == V8DFmode)") (define_subst_attr "round_modev4sf_condition" "round" "1" "(GET_MODE (operands[0]) == V4SFmode)") While here, can you also change conditions to static checks (<MODE>mode == ....) ? Uros.