]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Fix memory constraint for APX NF
authorLingling Kong <lingling.kong@intel.com>
Fri, 2 Aug 2024 02:31:39 +0000 (10:31 +0800)
committerLingling Kong <lingling.kong@intel.com>
Fri, 2 Aug 2024 02:57:00 +0000 (10:57 +0800)
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<mode>_1<nf_name>): Fixed the constraint.

gcc/config/i386/i386.md

index caa3773a5212a780d738b3ac73823116b7b36b24..db7789c17d2add2aace32802844dbf1bda36714b 100644 (file)
 (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")
        (clobber (reg:CC FLAGS_REG))])
 
 (define_insn "*add<mode>_1<nf_name>"
-  [(set (match_operand:SWI48 0 "nonimmediate_operand" "=rm,r<nf_mem_constraint>,r,r,r,r,r,r")
+  [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r<nf_add_mem_constraint>,r<nf_mem_constraint>,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")))]