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~
next prev parent 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).