public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "pan2.li at intel dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
Date: Mon, 27 Nov 2023 11:37:22 +0000	[thread overview]
Message-ID: <bug-112598-4-eb1gVA8rTv@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-112598-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598

--- Comment #14 from Li Pan <pan2.li at intel dot com> ---
The below diff similar to the x86 workaround looks not working, unless we
change the `+m` to `=m`. But I don't fully test the impact of this change
except the case itself.

diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index 935eeb7fd8e..882fc8fe5ec 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -85,6 +85,9 @@ (define_c_enum "unspec" [

   ;; String unspecs
   UNSPEC_STRLEN
+
+  ;; test
+  UNSPEC_MASKSTORE
 ])

 (define_c_enum "unspecv" [
diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
index ba9c9e5a9b6..2f74cec51d1 100644
--- a/gcc/config/riscv/vector.md
+++ b/gcc/config/riscv/vector.md
@@ -1738,16 +1738,17 @@ (define_insn_and_split "*pred_mov<mode>"
 ;; Dedicated pattern for vse.v instruction since we can't reuse pred_mov
pattern to include
 ;; memory operand as input which will produce inferior codegen.
 (define_insn "@pred_store<mode>"
-  [(set (match_operand:V 0 "memory_operand"                 "+m")
-       (if_then_else:V
-         (unspec:<VM>
-           [(match_operand:<VM> 1 "vector_mask_operand" "vmWc1")
-            (match_operand 3 "vector_length_operand"    "   rK")
-            (match_operand 4 "const_int_operand"        "    i")
-            (reg:SI VL_REGNUM)
-            (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-         (match_operand:V 2 "register_operand"         "    vr")
-         (match_dup 0)))]
+  [(set (match_operand:V 0 "memory_operand"                 "=m")
+       (unspec:V
+         [(if_then_else:V
+           (unspec:<VM>
+             [(match_operand:<VM> 1 "vector_mask_operand" "vmWc1")
+              (match_operand 3 "vector_length_operand"    "   rK")
+              (match_operand 4 "const_int_operand"        "    i")
+              (reg:SI VL_REGNUM)
+              (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
+           (match_operand:V 2 "register_operand"         "    vr")
+           (match_dup 0))] UNSPEC_MASKSTORE))]
   "TARGET_VECTOR"
   "vse<sew>.v\t%2,%0%p1"
   [(set_attr "type" "vste")

  parent reply	other threads:[~2023-11-27 11:37 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-17 21:18 [Bug target/112598] New: " patrick at rivosinc dot com
2023-11-17 21:21 ` [Bug target/112598] " patrick at rivosinc dot com
2023-11-21  2:43 ` juzhe.zhong at rivai dot ai
2023-11-21 13:38 ` cvs-commit at gcc dot gnu.org
2023-11-21 17:43 ` patrick at rivosinc dot com
2023-11-22  6:45 ` cvs-commit at gcc dot gnu.org
2023-11-22 11:09 ` juzhe.zhong at rivai dot ai
2023-11-22 12:31 ` cvs-commit at gcc dot gnu.org
2023-11-23  6:02 ` pan2.li at intel dot com
2023-11-24  2:37 ` pan2.li at intel dot com
2023-11-27  3:07 ` pan2.li at intel dot com
2023-11-27  8:15 ` rdapp at gcc dot gnu.org
2023-11-27  8:25 ` pan2.li at intel dot com
2023-11-27  8:43 ` rdapp at gcc dot gnu.org
2023-11-27 11:37 ` pan2.li at intel dot com [this message]
2023-11-27 12:42 ` rdapp at gcc dot gnu.org
2023-11-27 17:51 ` patrick at rivosinc dot com
2023-11-28  3:15 ` pan2.li at intel dot com
2023-12-04 21:35 ` patrick at rivosinc dot com
2023-12-11 23:48 ` patrick at rivosinc dot com
2024-01-24 23:53 ` patrick at rivosinc 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-112598-4-eb1gVA8rTv@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).