From: Kirill Yukhin <kirill.yukhin@gmail.com>
To: Richard Henderson <rth@redhat.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] [2/n] Add AVX-512 patterns: Fix missing `v' constraint.
Date: Wed, 09 Oct 2013 10:25:00 -0000 [thread overview]
Message-ID: <20131009102405.GA52466@msticlxl57.ims.intel.com> (raw)
In-Reply-To: <52129604.6040305@redhat.com>
Hello,
> This patch is still far too large.
>
> I think you should split it up based on every single mode iterator that
> you need to add or change.
Here's 2nd subpatch. It fixes missing `v' constraints.
Is it Ok?
Testing:
1. Bootstrap pass.
2. make check shows no regressions.
3. Spec 2000 & 2006 build show no regressions both with and without -mavx512f option.
4. Spec 2000 & 2006 run shows no stability regressions without -mavx512f option.
--
Thanks, K
PS. If it is ok - I am going to strip out ChangeLog lines from big patch
---
gcc/config/i386/sse.md | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 10637cc..2f2fb38 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -880,7 +880,7 @@
(define_insn "<sse2>_movnt<mode>"
[(set (match_operand:VI8 0 "memory_operand" "=m")
- (unspec:VI8 [(match_operand:VI8 1 "register_operand" "x")]
+ (unspec:VI8 [(match_operand:VI8 1 "register_operand" "v")]
UNSPEC_MOVNT))]
"TARGET_SSE2"
"%vmovntdq\t{%1, %0|%0, %1}"
@@ -1764,10 +1764,10 @@
[(set (reg:CCFP FLAGS_REG)
(compare:CCFP
(vec_select:MODEF
- (match_operand:<ssevecmode> 0 "register_operand" "x")
+ (match_operand:<ssevecmode> 0 "register_operand" "v")
(parallel [(const_int 0)]))
(vec_select:MODEF
- (match_operand:<ssevecmode> 1 "nonimmediate_operand" "xm")
+ (match_operand:<ssevecmode> 1 "nonimmediate_operand" "vm")
(parallel [(const_int 0)]))))]
"SSE_FLOAT_MODE_P (<MODE>mode)"
"%vcomi<ssemodesuffix>\t{%1, %0|%0, %<iptr>1}"
@@ -1784,10 +1784,10 @@
[(set (reg:CCFPU FLAGS_REG)
(compare:CCFPU
(vec_select:MODEF
- (match_operand:<ssevecmode> 0 "register_operand" "x")
+ (match_operand:<ssevecmode> 0 "register_operand" "v")
(parallel [(const_int 0)]))
(vec_select:MODEF
- (match_operand:<ssevecmode> 1 "nonimmediate_operand" "xm")
+ (match_operand:<ssevecmode> 1 "nonimmediate_operand" "vm")
(parallel [(const_int 0)]))))]
"SSE_FLOAT_MODE_P (<MODE>mode)"
"%vucomi<ssemodesuffix>\t{%1, %0|%0, %<iptr>1}"
@@ -2594,7 +2594,7 @@
(set_attr "amdfam10_decode" "vector,double,*")
(set_attr "bdver1_decode" "double,direct,*")
(set_attr "btver2_decode" "double,double,double")
- (set_attr "prefix" "orig,orig,vex")
+ (set_attr "prefix" "orig,orig,maybe_evex")
(set_attr "mode" "SF")])
(define_insn "sse_cvtsi2ssq"
@@ -2617,7 +2617,7 @@
(set_attr "btver2_decode" "double,double,double")
(set_attr "length_vex" "*,*,4")
(set_attr "prefix_rex" "1,1,*")
- (set_attr "prefix" "orig,orig,vex")
+ (set_attr "prefix" "orig,orig,maybe_evex")
(set_attr "mode" "SF")])
(define_insn "sse_cvtss2si"
@@ -2668,7 +2668,7 @@
(define_insn "sse_cvtss2siq_2"
[(set (match_operand:DI 0 "register_operand" "=r,r")
- (unspec:DI [(match_operand:SF 1 "nonimmediate_operand" "x,m")]
+ (unspec:DI [(match_operand:SF 1 "nonimmediate_operand" "v,m")]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE && TARGET_64BIT"
"%vcvtss2si{q}\t{%1, %0|%0, %k1}"
@@ -2860,11 +2860,11 @@
(set_attr "mode" "DF")])
(define_insn "sse2_cvtsi2sdq"
- [(set (match_operand:V2DF 0 "register_operand" "=x,x,x")
+ [(set (match_operand:V2DF 0 "register_operand" "=x,x,v")
(vec_merge:V2DF
(vec_duplicate:V2DF
(float:DF (match_operand:DI 2 "nonimmediate_operand" "r,m,rm")))
- (match_operand:V2DF 1 "register_operand" "0,0,x")
+ (match_operand:V2DF 1 "register_operand" "0,0,v")
(const_int 1)))]
"TARGET_SSE2 && TARGET_64BIT"
"@
@@ -2878,14 +2878,14 @@
(set_attr "bdver1_decode" "double,direct,*")
(set_attr "length_vex" "*,*,4")
(set_attr "prefix_rex" "1,1,*")
- (set_attr "prefix" "orig,orig,vex")
+ (set_attr "prefix" "orig,orig,maybe_evex")
(set_attr "mode" "DF")])
(define_insn "sse2_cvtsd2si"
[(set (match_operand:SI 0 "register_operand" "=r,r")
(unspec:SI
[(vec_select:DF
- (match_operand:V2DF 1 "nonimmediate_operand" "x,m")
+ (match_operand:V2DF 1 "nonimmediate_operand" "v,m")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE2"
@@ -2916,7 +2916,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(unspec:DI
[(vec_select:DF
- (match_operand:V2DF 1 "nonimmediate_operand" "x,m")
+ (match_operand:V2DF 1 "nonimmediate_operand" "v,m")
(parallel [(const_int 0)]))]
UNSPEC_FIX_NOTRUNC))]
"TARGET_SSE2 && TARGET_64BIT"
@@ -2946,7 +2946,7 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(fix:SI
(vec_select:DF
- (match_operand:V2DF 1 "nonimmediate_operand" "x,m")
+ (match_operand:V2DF 1 "nonimmediate_operand" "v,m")
(parallel [(const_int 0)]))))]
"TARGET_SSE2"
"%vcvttsd2si\t{%1, %0|%0, %q1}"
@@ -2963,7 +2963,7 @@
[(set (match_operand:DI 0 "register_operand" "=r,r")
(fix:DI
(vec_select:DF
- (match_operand:V2DF 1 "nonimmediate_operand" "x,m")
+ (match_operand:V2DF 1 "nonimmediate_operand" "v,m")
(parallel [(const_int 0)]))))]
"TARGET_SSE2 && TARGET_64BIT"
"%vcvttsd2si{q}\t{%1, %0|%0, %q1}"
@@ -5913,9 +5913,9 @@
(set_attr "mode" "<sseinsnmode>")])
(define_insn "<shift_insn><mode>3"
- [(set (match_operand:VI248_AVX2 0 "register_operand" "=x,v")
+ [(set (match_operand:VI248_AVX2 0 "register_operand" "=x,x")
(any_lshift:VI248_AVX2
- (match_operand:VI248_AVX2 1 "register_operand" "0,v")
+ (match_operand:VI248_AVX2 1 "register_operand" "0,x")
(match_operand:SI 2 "nonmemory_operand" "xN,xN")))]
"TARGET_SSE2"
"@
--
1.7.11.7
next prev parent reply other threads:[~2013-10-09 10:24 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-08 11:26 [PATCH i386 3/8] [AVX512] Add AVX-512 patterns Kirill Yukhin
2013-08-14 7:27 ` Kirill Yukhin
2013-08-19 22:02 ` Richard Henderson
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 ` Kirill Yukhin [this message]
2013-10-09 21:32 ` [PATCH i386 3/8] [AVX512] [2/n] Add AVX-512 patterns: Fix missing `v' constraint 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] [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: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: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: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] [8/n] Add AVX-512 patterns: VI48 and VI48_AVX2 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] [17/n] Add AVX-512 patterns: V8FI and V16FI iterators Kirill Yukhin
2013-10-14 20:10 ` 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: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=20131009102405.GA52466@msticlxl57.ims.intel.com \
--to=kirill.yukhin@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
--cc=rth@redhat.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).