[PATCH,rs6000] Make MMA builtins use opaque modes [v2]

Peter Bergner bergner@linux.ibm.com
Thu Nov 19 20:08:16 GMT 2020


On 11/19/20 12:58 PM, acsawdey@linux.ibm.com wrote:
> +(define_expand "mma_disassemble_pair"
> +  [(match_operand:V16QI 0 "mma_disassemble_output_operand")
> +   (match_operand:OO 1 "input_operand")
> +   (match_operand 2 "const_0_to_1_operand")]

Maybe we should use vsx_register_operand instead of input_operand here?



> +(define_insn_and_split "*mma_disassemble_pair"
> +  [(set (match_operand:V16QI 0 "mma_disassemble_output_operand" "=mwa")
> +       (unspec:V16QI [(match_operand:OO 1 "input_operand" "wa")
> +                      (match_operand 2 "const_0_to_1_operand")]
> +		      UNSPEC_MMA_EXTRACT))]

Likewise?



> +  "TARGET_MMA
> +   && fpr_reg_operand (operands[1], OOmode)"

pairs can be assigned to any vsx register, so I think we want
vsx_register_operand here too.




> +(define_expand "mma_disassemble_acc"
> +  [(match_operand:V16QI 0 "mma_disassemble_output_operand")
> +   (match_operand:XO 1 "input_operand")
> +   (match_operand 2 "const_0_to_3_operand")]

Likewise as above, do we want to use the fpr_reg_operand predicate here
instead of input_operand?



> +(define_insn_and_split "*mma_disassemble_acc"
> +  [(set (match_operand:V16QI 0 "mma_disassemble_output_operand" "=mwa")
> +       (unspec:V16QI [(match_operand:XO 1 "input_operand" "d")
> +                      (match_operand 2 "const_0_to_3_operand")]

Likewise?


Peter




More information about the Gcc-patches mailing list