What does this character mean in DLX's md file?

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Thu Jan 19 10:45:00 GMT 2006


> (define_insn ""
>   [(set (match_operand:CCFP 0 "register_operand" "=z")
>         (match_operator:SF 1 "signed_comparison_operator"
>          [(match_operand:SF 2 "register_operand" "f")
>           (match_operand:SF 3 "register_operand" "f")]))]
>   ""
>   "%C1f\\t%2,%3"
>   [(set_attr "type" "fp")
>    (set_attr "mode" "SF")])
> 
> This pattern outputs float compare instruction. "%C" in the output template is defined in dlx.c to
> be one of eq, ne, gt, lt, le and neq. DLX's assembly code for float compare has the format of "*f
> op1, op2", where * is to be substituted by eq, ne, gt, ....  I don't know the meaning of the
> numeric character "1" between "%C" and "f" in the output template.

It means that operand 1 (the signed_comparison_operator) is passed to 
the dlx.c routine.  Likewise for %2 and %3.

> Attached is DLX's md file.

The whole content of the file is not relevant.

Paolo



More information about the Gcc mailing list