From 86d92c84762f8c805c4e3d87f394c095139c81f0 Mon Sep 17 00:00:00 2001 From: Hongyu Wang Date: Mon, 9 Oct 2023 09:53:14 +0800 Subject: [i386] APX EGPR: fix missing patterns that prohibit egpr For some pattern m/Bm constraint in alternative 0 and 1 could result in egpr allocated on memory operand under -mapxf. Should use jm/ja instead. gcc/ChangeLog: * config/i386/sse.md (vec_concatv2di): Replace constraint "m" with "jm" for alternative 0 and 1 of operand 2. (sse4_1_3): Replace constraint "Bm" with "ja" for alternative 0 and 1 of operand2. --- gcc/config/i386/sse.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 6bffd74..22e43eb 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -16842,7 +16842,7 @@ [(set (match_operand:VI24_128 0 "register_operand" "=Yr,*x,") (umaxmin:VI24_128 (match_operand:VI24_128 1 "vector_operand" "%0,0,") - (match_operand:VI24_128 2 "vector_operand" "YrBm,*xBm,m")))] + (match_operand:VI24_128 2 "vector_operand" "Yrja,*xja,m")))] "TARGET_SSE4_1 && && !(MEM_P (operands[1]) && MEM_P (operands[2]))" @@ -20638,7 +20638,7 @@ (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} -- cgit v1.1