public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/50788] [4.7 Regression] ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256
Date: Sat, 22 Oct 2011 20:42:00 -0000	[thread overview]
Message-ID: <bug-50788-4-CsVMqo0qog@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-50788-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50788

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org, uros at gcc dot
                   |                            |gnu.org
          Component|rtl-optimization            |target
         AssignedTo|ebotcazou at gcc dot        |unassigned at gcc dot
                   |gnu.org                     |gnu.org

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-10-22 20:41:53 UTC ---
This appears to be a problem in the AVX maskmov patterns: operand 0 is seen as
a double output operand.  The solution is either to use a match_operand for the
input with constraint 0 or to use '+' instead of '=' in the constraint.  The
former is the preferred approach in this case though:

Index: config/i386/sse.md
===================================================================
--- config/i386/sse.md  (revision 180235)
+++ config/i386/sse.md  (working copy)
@@ -12298,7 +12298,7 @@ (define_insn "*avx2_maskmov<ssemodesuffi
        (unspec:VI48_AVX2
          [(match_operand:<sseintvecmode> 1 "register_operand" "x,x")
           (match_operand:VI48_AVX2 2 "nonimmediate_operand" "m,x")
-          (match_dup 0)]
+          (match_operand:VI48_AVX2 3 "nonimmediate_operand" "0,0")]
          UNSPEC_MASKMOV))]
   "TARGET_AVX2
    && (REG_P (operands[0]) == MEM_P (operands[2]))"
@@ -12313,7 +12313,7 @@ (define_insn "*avx_maskmov<ssemodesuffix
        (unspec:VF
          [(match_operand:<sseintvecmode> 1 "register_operand" "x,x")
           (match_operand:VF 2 "nonimmediate_operand" "m,x")
-          (match_dup 0)]
+          (match_operand:VF 3 "nonimmediate_operand" "0,0")]
          UNSPEC_MASKMOV))]
   "TARGET_AVX
    && (REG_P (operands[0]) == MEM_P (operands[2]))"

but the expanders have match_dup.  Uros, would you mind taking it over?  TIA.


  parent reply	other threads:[~2011-10-22 20:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-19  4:45 [Bug target/50788] New: " zsojka at seznam dot cz
2011-10-19  8:12 ` [Bug rtl-optimization/50788] " rguenth at gcc dot gnu.org
2011-10-21 15:05 ` ebotcazou at gcc dot gnu.org
2011-10-21 15:08 ` ebotcazou at gcc dot gnu.org
2011-10-22 20:42 ` ebotcazou at gcc dot gnu.org [this message]
2011-10-23  8:20 ` [Bug target/50788] " ubizjak at gmail dot com
2011-10-23 11:00 ` ubizjak at gmail dot com
2011-10-23 11:28 ` ebotcazou at gcc dot gnu.org
2011-10-23 11:46 ` ubizjak at gmail dot com
2011-10-23 13:06 ` ubizjak at gmail dot com
2011-10-23 13:44 ` ubizjak at gmail dot com
2011-10-23 14:18 ` uros at gcc dot gnu.org
2011-10-23 15:16 ` uros at gcc dot gnu.org
2011-10-23 15:17 ` uros at gcc dot gnu.org
2011-10-23 15:19 ` uros at gcc dot gnu.org
2011-10-23 15:20 ` ubizjak at gmail dot com

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=bug-50788-4-CsVMqo0qog@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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).