On Thu, 2024-01-04 at 11:58 +0800, chenglulu wrote: > > 在 2024/1/4 上午11:51, Xi Ruoyao 写道: > > On Wed, 2023-12-27 at 16:46 +0800, Lulu Cheng wrote: > > > +(define_insn "movdi_pcrel64" > > > + [(set (match_operand:DI 0 "register_operand" "=&r") > > > + (match_operand:DI 1 "symbolic_pcrel64_operand")) > > > + (unspec:DI [(const_int 0)] > > > + UNSPEC_MOV_PCREL64) > > > + (use (reg:DI T3_REGNUM)) > > > + (clobber (reg:DI T3_REGNUM))] > > It's better not to hard code $t3 here. We can write > > > > [(set (match_operand:DI 0 "register_operand" "=r") > > (match_operand:DI 1 "symbolic_pcrel64_operand")) > > (clobber (match_operand:DI 2 "register_operand "=&r"))] > > > > And use > > > > gen_movdi_pcrel64 (operands[0], operands[1], gen_reg_rtx(DImode)) > > > > in expand. > > > I tried using (clobber (match_scratch)) when implementing it, but it > didn't work.
I tried match_scratch a few times as well in my previous hacks but never succeeded :(. -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University