public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@redhat.com>
To: Kirill Yukhin <kirill.yukhin@gmail.com>
Cc: Uros Bizjak <ubizjak@gmail.com>,
	Vladimir Makarov <vmakarov@redhat.com>,
	       Jakub Jelinek <jakub@redhat.com>,
	       GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH i386 3/8] [AVX512] Add AVX-512 patterns.
Date: Mon, 19 Aug 2013 22:02:00 -0000	[thread overview]
Message-ID: <521295AF.6050508@redhat.com> (raw)
In-Reply-To: <20130814072638.GD52726@msticlxl57.ims.intel.com>

>  ;; All vector modes including V?TImode, used in move patterns.
>  (define_mode_iterator V16
> -  [(V32QI "TARGET_AVX") V16QI
> -   (V16HI "TARGET_AVX") V8HI
> -   (V8SI "TARGET_AVX") V4SI
> -   (V4DI "TARGET_AVX") V2DI
> +  [(V64QI "TARGET_AVX512F") (V32QI "TARGET_AVX") V16QI
> +   (V32HI "TARGET_AVX512F") (V16HI "TARGET_AVX") V8HI
> +   (V16SI "TARGET_AVX512F") (V8SI "TARGET_AVX") V4SI
> +   (V8DI "TARGET_AVX512F")  (V4DI "TARGET_AVX") V2DI
>     (V2TI "TARGET_AVX") V1TI
> -   (V8SF "TARGET_AVX") V4SF
> -   (V4DF "TARGET_AVX") V2DF])
> +   (V16SF "TARGET_AVX512F") (V8SF "TARGET_AVX") V4SF
> +   (V8DF "TARGET_AVX512F")  (V4DF "TARGET_AVX") V2DF])

Let's rename this VMOVE, and apply only that change as a separate patch.

> +(define_mode_iterator VF_AVX512F
> +  [(V16SF "TARGET_AVX512F") (V8SF "TARGET_AVX") V4SF
> +   (V8DF "TARGET_AVX512F") (V4DF "TARGET_AVX") (V2DF "TARGET_SSE2")])
> +

Why aren't you modifying VF instead?  Certainly this makes the comment for "VF"
be incorrect, as it no longer contains "all vector float modes".

>  ;; All SFmode vector float modes
>  (define_mode_iterator VF1
>    [(V8SF "TARGET_AVX") V4SF])
>  
> +(define_mode_iterator VF1_AVX512F
> +  [(V16SF "TARGET_AVX512F") (V8SF "TARGET_AVX") V4SF])

Likewise.

>  ;; All DFmode vector float modes
>  (define_mode_iterator VF2
>    [(V4DF "TARGET_AVX") V2DF])
>  
> +(define_mode_iterator VF2_AVX512F
> +  [(V8DF "TARGET_AVX512F") (V4DF "TARGET_AVX") V2DF])

Likewise.

> +;; 128bit and 512bit float modes
> +(define_mode_iterator VF_128_512
> +  [V4SF V2DF V16SF V8DF])

Unused?

>  (define_expand "<code><mode>2"
> -  [(set (match_operand:VF 0 "register_operand")
> -	(absneg:VF
> -	  (match_operand:VF 1 "register_operand")))]
> +  [(set (match_operand:VF_AVX512F 0 "register_operand")
> +	(absneg:VF_AVX512F
> +	  (match_operand:VF_AVX512F 1 "register_operand")))]
>    "TARGET_SSE"
>    "ix86_expand_fp_absneg_operator (<CODE>, <MODE>mode, operands); DONE;")

Fixing VF as I describe above appears to make a large portion
of the patch just go away.



r~

  reply	other threads:[~2013-08-19 22:01 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-08 11:26 Kirill Yukhin
2013-08-14  7:27 ` Kirill Yukhin
2013-08-19 22:02   ` Richard Henderson [this message]
2013-08-20 14:22     ` Kirill Yukhin
2013-08-20 15:59       ` Richard Henderson
2013-08-21  9:21         ` Kirill Yukhin
2013-08-19 22:14   ` Richard Henderson
2013-08-27 18:40     ` [PATCH i386 3/8] [AVX512] [1/n] Add AVX-512 patterns: VF iterator extended Kirill Yukhin
2013-09-06 13:42       ` Kirill Yukhin
2013-09-09 11:29         ` Kirill Yukhin
2013-09-13 10:53           ` Kirill Yukhin
2013-09-18  7:55             ` Kirill Yukhin
2013-09-24  9:21               ` Kirill Yukhin
2013-09-24 17:41       ` Richard Henderson
2013-09-25 19:00         ` Ilya Verbin
2013-10-09 10:25     ` [PATCH i386 3/8] [AVX512] [3/n] Add AVX-512 patterns: VF1 and VI iterators Kirill Yukhin
2013-10-09 21:34       ` Richard Henderson
2013-10-11 13:16         ` Kirill Yukhin
2013-10-09 10:25     ` [PATCH i386 3/8] [AVX512] [2/n] Add AVX-512 patterns: Fix missing `v' constraint Kirill Yukhin
2013-10-09 21:32       ` Richard Henderson
2013-10-11 13:10         ` Kirill Yukhin
2013-10-09 10:26     ` [PATCH i386 3/8] [AVX512] [4/n] Add AVX-512 patterns: V iterator Kirill Yukhin
2013-10-09 21:34       ` Richard Henderson
2013-10-11 13:43         ` Kirill Yukhin
2013-10-09 10:26     ` [PATCH i386 3/8] [AVX512] [5/n] Add AVX-512 patterns: Introduce `multdiv' code iterator Kirill Yukhin
2013-10-09 21:35       ` Richard Henderson
2013-10-11 13:43         ` Kirill Yukhin
2013-10-11 13:46           ` Jakub Jelinek
2013-10-11 13:58             ` Kirill Yukhin
2013-10-09 10:27     ` [PATCH i386 3/8] [AVX512] [6/n] Add AVX-512 patterns: VI2 and VI124 iterators Kirill Yukhin
2013-10-09 21:38       ` Richard Henderson
2013-10-11 13:48         ` Kirill Yukhin
2013-10-09 10:27     ` [PATCH i386 3/8] [AVX512] [7/n] Add AVX-512 patterns: VI4 and VI8 iterators Kirill Yukhin
2013-10-09 21:46       ` Richard Henderson
2013-10-11 13:56         ` Kirill Yukhin
2013-10-09 10:28     ` [PATCH i386 3/8] [AVX512] [8/n] Add AVX-512 patterns: VI48 and VI48_AVX2 iterators Kirill Yukhin
2013-10-09 21:51       ` Richard Henderson
2013-10-09 10:28     ` [PATCH i386 3/8] [AVX512] [10/n] Add AVX-512 patterns: VI248_AVX2_8_AVX512F and VI124_256_48_AVX512F iterators Kirill Yukhin
2013-10-09 21:58       ` Richard Henderson
2013-10-09 10:28     ` [PATCH i386 3/8] [AVX512] [9/n] Add AVX-512 patterns: VI124_AVX2, VI8F iterators Kirill Yukhin
2013-10-09 21:51       ` Richard Henderson
2013-10-09 10:29     ` [PATCH i386 3/8] [AVX512] [11/n] Add AVX-512 patterns: FMA Kirill Yukhin
2013-10-09 22:03       ` Richard Henderson
2013-10-10 14:30         ` Kirill Yukhin
2013-10-10 17:14           ` Richard Henderson
2013-10-09 10:29     ` [PATCH i386 3/8] [AVX512] [12/n] Add AVX-512 patterns: V_512 and VI_512 iterators Kirill Yukhin
2013-10-09 22:08       ` Richard Henderson
2013-10-09 10:30     ` [PATCH i386 3/8] [AVX512] [14/n] Add AVX-512 patterns: VI48F_256_512 iterator Kirill Yukhin
2013-10-09 22:31       ` Richard Henderson
2013-10-09 10:30     ` [PATCH i386 3/8] [AVX512] [13/n] Add AVX-512 patterns: VI4_AVX iterator Kirill Yukhin
2013-10-09 22:16       ` Richard Henderson
2013-10-09 10:31     ` [PATCH i386 3/8] [AVX512] [15/n] Add AVX-512 patterns: VI48F_512 iterator Kirill Yukhin
2013-10-11 17:36       ` Richard Henderson
2013-10-15 13:58         ` Kirill Yukhin
2013-10-09 10:31     ` [PATCH i386 3/8] [AVX512] [17/n] Add AVX-512 patterns: V8FI and V16FI iterators Kirill Yukhin
2013-10-14 20:10       ` Richard Henderson
2013-10-09 10:32     ` [PATCH i386 3/8] [AVX512] [18/n] Add AVX-512 patterns: various RCPs and SQRTs Kirill Yukhin
2013-10-14 21:02       ` Richard Henderson
2013-10-14 21:03       ` Richard Henderson
2013-10-15 14:14         ` Kirill Yukhin
2013-10-15 14:56           ` Richard Henderson
2013-10-09 10:32     ` [PATCH i386 3/8] [AVX512] [19/n] Add AVX-512 patterns: Extracts and converts Kirill Yukhin
2013-10-15 16:17       ` Richard Henderson
2013-10-16 16:26         ` Kirill Yukhin
2013-10-16 17:05           ` Richard Henderson
2013-10-17 11:03             ` Kirill Yukhin
2013-10-17 11:43               ` Uros Bizjak
2013-10-17 14:21                 ` Kirill Yukhin
2013-10-20 10:28                   ` Uros Bizjak
2013-10-22 14:22                     ` Kirill Yukhin
2013-10-09 10:36     ` [PATCH i386 3/8] [AVX512] [20/n] Add AVX-512 patterns: Misc Kirill Yukhin
2013-10-15 16:29       ` Richard Henderson
2013-10-09 10:53     ` [PATCH i386 3/8] [AVX512] [16/n] Add AVX-512 patterns: VI48_512 and VI4F_128 iterators Kirill Yukhin
2013-10-11 18:28       ` Richard Henderson
2013-10-15 14:02         ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521295AF.6050508@redhat.com \
    --to=rth@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=kirill.yukhin@gmail.com \
    --cc=ubizjak@gmail.com \
    --cc=vmakarov@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).