For vec_concatv2di, m constraint in alternative 0 and 1 could result in
egpr allocated on operand 2 under -mapxf. Should use jm instead.

Bootstrapped/regtested on x86-64-linux-gnu.

Ok for trunk?

gcc/ChangeLog:

        * config/i386/sse.md (vec_concatv2di): Replace constraint "m"
        with "jm" for alternative 0 and 1 of operand 2.
---
 gcc/config/i386/sse.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 6bffd749c6d..58672f46365 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -20638,7 +20638,7 @@ (define_insn "vec_concatv2di"
          (match_operand:DI 1 "register_operand"
          "  0, 0,x ,Yv,0,Yv,0,0,v")
          (match_operand:DI 2 "nonimmediate_operand"
-         " jrm,jrm,rm,rm,x,Yv,x,m,m")))]
+         " jrjm,jrjm,rm,rm,x,Yv,x,m,m")))]
   "TARGET_SSE"
   "@
    pinsrq\t{$1, %2, %0|%0, %2, 1}
-- 
2.31.1

Reply via email to