对应iu的自增操作,需要mem支持相应的pattern模板

对应iu的自增操作,需要mem支持相应的pattern模板; 否则attempt_change中的检查会失败

242 (define_memory_constraint "Zmu"
243 ".iu for the scalar load/store instruction"
244  (and (match_code "mem")
245       (match_test("GET_RTX_CLASS (GET_CODE (XEXP (op,0))) == RTX_AUTOINC
246                    && (GET_CODE (XEXP (op, 0)) == PRE_INC
247                    || GET_CODE (XEXP (op, 0)) == PRE_DEC
248                    || GET_CODE (XEXP (op, 0))== PRE_MODIFY)"))))


具体和后端的关联方式;

  if (! validate_change (mem_insn.insn, mem_insn.mem_loc, new_mem, 0))
    {
      if (dump_file)
 fprintf (dump_file, "validation failure\n");
      return false;
    }


公共代码不需要做调整%G0

@@ -974,8 +974,8 @@
 ;; L16U* and L16S* diff from the original meaning of intrinsics ??
 
 (define_insn "movhi_internal"
+  [(set (match_operand:HI 0 "hidsp_move_operand" "=r,r,r,r,r,Zmu,Zms")
+        (match_operand:HI 1 "move_operand" "r,I,i,Zml,Zmn,r,r"))]
   "hidsp_valid_move (HImode, operands)"
   "@
    or@%.\t\t%0, %1, %1
+   s16%G0@ags\t%1, %0
    s16%G0@ags\t%1, %0"


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值