[PATCH 1/2, rs6000] int128 sign extention instructions (partial prereq)

Segher Boessenkool segher@kernel.crashing.org
Fri Sep 25 23:41:50 GMT 2020


On Fri, Sep 25, 2020 at 02:54:01PM -0500, Pat Haugen wrote:
> > +(define_expand "extendditi2"
> > +  [(set (match_operand:TI 0 "gpc_reg_operand")
> > +        (sign_extend:DI (match_operand:DI 1 "gpc_reg_operand")))]
> > +  "TARGET_POWER10"
> > +  {
> > +    /* Move 64-bit src from GPR to vector reg and sign extend to 128-bits */
> > +    rtx temp = gen_reg_rtx (TImode);
> > +    emit_insn (gen_mtvsrdd_diti_w1 (temp, operands[1]));
> > +    emit_insn (gen_extendditi2_vector (operands[0], temp));
> > +    DONE;
> > +  }
> > +  [(set_attr "type" "exts")])
> 
> Don't need "type" attr on define_expand since the type will come from the 2 individual insns emitted.

Yeah good point, those attrs do not even do anything on the expand as
far as I can see (do *any* attrs, even?)


Segher


More information about the Gcc-patches mailing list