diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 9 |
2 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7f5555b..9e30a61 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2014-08-22 Alexander Ivchenko <alexander.ivchenko@intel.com> + Maxim Kuznetsov <maxim.kuznetsov@intel.com> + Anna Tikhonova <anna.tikhonova@intel.com> + Ilya Tocar <ilya.tocar@intel.com> + Andrey Turetskiy <andrey.turetskiy@intel.com> + Ilya Verbin <ilya.verbin@intel.com> + Kirill Yukhin <kirill.yukhin@intel.com> + Michael Zolotukhin <michael.v.zolotukhin@intel.com> + + * config/i386/sse.md + (define_mode_iterator VI8_AVX512VL): New. + (define_insn "avx512cd_maskb_vec_dup<mode>"): Macroize. + 2014-08-22 Kirill Yukhin <kirill.yukhin@intel.com> * gcc/config/i386/sse.md (define_mode_iterator V_AVX512VL): Delete. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index ca944a3..3acae74 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -267,6 +267,9 @@ (define_mode_iterator VI8 [(V8DI "TARGET_AVX512F") (V4DI "TARGET_AVX") V2DI]) +(define_mode_iterator VI8_AVX512VL + [V8DI (V4DI "TARGET_AVX512VL") (V2DI "TARGET_AVX512VL")]) + (define_mode_iterator VI1_AVX2 [(V32QI "TARGET_AVX2") V16QI]) @@ -14511,9 +14514,9 @@ (set_attr "prefix" "vex") (set_attr "mode" "<sseinsnmode>")]) -(define_insn "avx512cd_maskb_vec_dupv8di" - [(set (match_operand:V8DI 0 "register_operand" "=v") - (vec_duplicate:V8DI +(define_insn "avx512cd_maskb_vec_dup<mode>" + [(set (match_operand:VI8_AVX512VL 0 "register_operand" "=v") + (vec_duplicate:VI8_AVX512VL (zero_extend:DI (match_operand:QI 1 "register_operand" "Yk"))))] "TARGET_AVX512CD" |