From: Alexander Ivchenko Date: Fri, 11 Oct 2013 14:05:40 +0000 (+0000) Subject: sse.md (VI48F_256_512): New. X-Git-Tag: releases/gcc-4.9.0~3571 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c87b77b1ea5bc5920e846d9c666bf4c1780148b;p=thirdparty%2Fgcc.git sse.md (VI48F_256_512): New. * config/i386/sse.md (VI48F_256_512): New. (avx2_permvar): Change to ... (_permvar): This. Co-Authored-By: Andrey Turetskiy Co-Authored-By: Anna Tikhonova Co-Authored-By: Ilya Tocar Co-Authored-By: Ilya Verbin Co-Authored-By: Kirill Yukhin Co-Authored-By: Maxim Kuznetsov Co-Authored-By: Michael Zolotukhin Co-Authored-By: Sergey Lega From-SVN: r203442 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bedc5d4b87c7..8177c62efb50 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2013-10-11 Alexander Ivchenko + Maxim Kuznetsov + Sergey Lega + Anna Tikhonova + Ilya Tocar + Andrey Turetskiy + Ilya Verbin + Kirill Yukhin + Michael Zolotukhin + + * config/i386/sse.md (VI48F_256_512): New. + (avx2_permvar): Change to ... + (_permvar): This. + 2013-10-11 Alexander Ivchenko Maxim Kuznetsov Sergey Lega diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 09f5ce472430..c3f6c94c5fa8 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -367,6 +367,10 @@ (define_mode_iterator VI8F_256 [V4DI V4DF]) (define_mode_iterator VI8F_256_512 [V4DI V4DF (V8DI "TARGET_AVX512F") (V8DF "TARGET_AVX512F")]) +(define_mode_iterator VI48F_256_512 + [V8SI V8SF + (V16SI "TARGET_AVX512F") (V16SF "TARGET_AVX512F") + (V8DI "TARGET_AVX512F") (V8DF "TARGET_AVX512F")]) ;; Mapping from float mode to required SSE level (define_mode_attr sse @@ -10834,17 +10838,17 @@ (set_attr "prefix" "vex") (set_attr "mode" "")]) -(define_insn "avx2_permvar" - [(set (match_operand:VI4F_256 0 "register_operand" "=v") - (unspec:VI4F_256 - [(match_operand:VI4F_256 1 "nonimmediate_operand" "vm") - (match_operand:V8SI 2 "register_operand" "v")] +(define_insn "_permvar" + [(set (match_operand:VI48F_256_512 0 "register_operand" "=v") + (unspec:VI48F_256_512 + [(match_operand:VI48F_256_512 1 "nonimmediate_operand" "vm") + (match_operand: 2 "register_operand" "v")] UNSPEC_VPERMVAR))] "TARGET_AVX2" "vperm\t{%1, %2, %0|%0, %2, %1}" [(set_attr "type" "sselog") (set_attr "prefix" "vex") - (set_attr "mode" "OI")]) + (set_attr "mode" "")]) (define_expand "_perm" [(match_operand:VI8F_256_512 0 "register_operand")