From: Lingling Kong Date: Fri, 2 Aug 2024 02:31:39 +0000 (+0800) Subject: i386: Fix memory constraint for APX NF X-Git-Tag: basepoints/gcc-16~6892 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d80dcff99f3ca8721eecd82097281095a3122079;p=thirdparty%2Fgcc.git i386: Fix memory constraint for APX NF The je constraint should be used for APX NDD ADD with register source operand. The jM is for APX NDD patterns with immediate operand. gcc/ChangeLog: * config/i386/i386.md (nf_mem_constraint): Fixed the constraint for the define_subst_attr. (nf_mem_constraint): Added new define_subst_attr. (*add_1): Fixed the constraint. --- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index caa3773a521..db7789c17d2 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -6500,7 +6500,8 @@ (define_subst_attr "nf_name" "nf_subst" "_nf" "") (define_subst_attr "nf_prefix" "nf_subst" "%{nf%} " "") (define_subst_attr "nf_condition" "nf_subst" "TARGET_APX_NF" "true") -(define_subst_attr "nf_mem_constraint" "nf_subst" "je" "m") +(define_subst_attr "nf_add_mem_constraint" "nf_subst" "je" "m") +(define_subst_attr "nf_mem_constraint" "nf_subst" "jM" "m") (define_subst_attr "nf_applied" "nf_subst" "true" "false") (define_subst_attr "nf_nonf_attr" "nf_subst" "noapx_nf" "*") (define_subst_attr "nf_nonf_x64_attr" "nf_subst" "noapx_nf" "x64") @@ -6514,7 +6515,7 @@ (clobber (reg:CC FLAGS_REG))]) (define_insn "*add_1" - [(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm,r,r,r,r,r,r,r") + [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r,r,r,r,r,r,r,r") (plus:SWI48 (match_operand:SWI48 1 "nonimmediate_operand" "%0,0,0,r,r,rje,jM,r") (match_operand:SWI48 2 "x86_64_general_operand" "r,e,BM,0,le,r,e,BM")))]