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

Reply via email to