sse.md (avx_vec_concat<mode>): Substitute concat_tg_mode mode attribute with xtg_mode.
authorUros Bizjak <ubizjak@gmail.com>
Thu, 31 May 2018 17:51:27 +0000 (19:51 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 31 May 2018 17:51:27 +0000 (19:51 +0200)
* config/i386/sse.md (avx_vec_concat<mode>):
Substitute concat_tg_mode mode attribute with xtg_mode.
(<mask_codefor>avx512dq_broadcast<mode><mask_name>_1): Ditto.
(concat_tg_mode): Remove mode attribute.

From-SVN: r261031

gcc/ChangeLog
gcc/config/i386/sse.md

index 2bdf916284061436a9484b11bc81502e319224d8..a4563e00b8f7f489a134c6a878c8e0f080697607 100644 (file)
@@ -1,3 +1,10 @@
+2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (avx_vec_concat<mode>):
+       Substitute concat_tg_mode mode attribute with xtg_mode.
+       (<mask_codefor>avx512dq_broadcast<mode><mask_name>_1): Ditto.
+       (concat_tg_mode): Remove mode attribute.
+
 2018-05-31  Martin Sebor  <msebor@redhat.com>
 
        PR c/82063
index dd65e57ad6a27e6496a1bf13d7d5c1e24218648c..082589433ec848a16a92185fe06e82164682ac32 100644 (file)
    (V16SF "ss") (V8SF "ss") (V4SF "ss")
    (V8DF "sd")  (V4DF "sd") (V2DF "sd")])
 
-;; Tie mode of assembler operand to mode iterator
-(define_mode_attr concat_tg_mode
-  [(V32QI "t") (V16HI "t") (V8SI "t") (V4DI "t") (V8SF "t") (V4DF "t")
-   (V64QI "g") (V32HI "g") (V16SI "g") (V8DI "g") (V16SF "g") (V8DF "g")])
-
 ;; Tie mode of assembler operand to mode iterator
 (define_mode_attr xtg_mode
   [(V16QI "x") (V8HI "x") (V4SI "x") (V2DI "x") (V4SF "x") (V2DF "x")
          (match_operand:<64x2mode> 1 "nonimmediate_operand" "v,m")))]
   "TARGET_AVX512DQ"
   "@
-   vshuf<shuffletype>64x2\t{$0x0, %<concat_tg_mode>1, %<concat_tg_mode>1, %0<mask_operand2>|%0<mask_operand2>, %<concat_tg_mode>1, %<concat_tg_mode>1, 0x0}
+   vshuf<shuffletype>64x2\t{$0x0, %<xtg_mode>1, %<xtg_mode>1, %0<mask_operand2>|%0<mask_operand2>, %<xtg_mode>1, %<xtg_mode>1, 0x0}
    vbroadcast<shuffletype>64x2\t{%1, %0<mask_operand2>|%0<mask_operand2>, %1}"
   [(set_attr "type" "ssemov")
    (set_attr "prefix_extra" "1")
   switch (which_alternative)
     {
     case 0:
-      return "vinsert<i128>\t{$0x1, %2, %<concat_tg_mode>1, %0|%0, %<concat_tg_mode>1, %2, 0x1}";
+      return "vinsert<i128>\t{$0x1, %2, %<xtg_mode>1, %0|%0, %<xtg_mode>1, %2, 0x1}";
     case 1:
       if (<MODE_SIZE> == 64)
        {
          if (TARGET_AVX512DQ && GET_MODE_SIZE (<ssescalarmode>mode) == 4)
-           return "vinsert<shuffletype>32x8\t{$0x1, %2, %<concat_tg_mode>1, %0|%0, %<concat_tg_mode>1, %2, 0x1}";
+           return "vinsert<shuffletype>32x8\t{$0x1, %2, %<xtg_mode>1, %0|%0, %<xtg_mode>1, %2, 0x1}";
          else
-           return "vinsert<shuffletype>64x4\t{$0x1, %2, %<concat_tg_mode>1, %0|%0, %<concat_tg_mode>1, %2, 0x1}";
+           return "vinsert<shuffletype>64x4\t{$0x1, %2, %<xtg_mode>1, %0|%0, %<xtg_mode>1, %2, 0x1}";
        }
       else
        {
          if (TARGET_AVX512DQ && GET_MODE_SIZE (<ssescalarmode>mode) == 8)
-           return "vinsert<shuffletype>64x2\t{$0x1, %2, %<concat_tg_mode>1, %0|%0, %<concat_tg_mode>1, %2, 0x1}";
+           return "vinsert<shuffletype>64x2\t{$0x1, %2, %<xtg_mode>1, %0|%0, %<xtg_mode>1, %2, 0x1}";
          else
-           return "vinsert<shuffletype>32x4\t{$0x1, %2, %<concat_tg_mode>1, %0|%0, %<concat_tg_mode>1, %2, 0x1}";
+           return "vinsert<shuffletype>32x4\t{$0x1, %2, %<xtg_mode>1, %0|%0, %<xtg_mode>1, %2, 0x1}";
        }
     case 2:
     case 3: