>> +;; [(set_attr "valloc" "umul")]
>I think this one needs to be macax also, since the constraints have "v" in
>them but the opcodes use ax.
> Other than that, it's OK.
Committed with above change.
Thanks for the quick review.
Regards,
Kaushik
> ; end of mulqi macro"
> +;; [(set_attr "valloc" "umul")]
I think this one needs to be macax also, since the constraints have
"v" in them but the opcodes use ax.
Other than that, it's OK.
Hi DJ,
> "umul" is used when the insn takes two operands in A and X, and computes a
> value into AX.
> "macax" is used when the insn pattern itself reads from two virtual registers
> and writes to a
> virtual register (i.e. V = V op V), but clobbers AX anx BC in the process.
Thanks for the cl
"umul" is used when the insn takes two operands in A and X, and
computes a value into AX. This is similar to "op2" which, in general,
does AX = AX op (other register or memory). The devirtualizer will
arrange for the right values to be in real registers for these.
"macax" is used when the insn
Hi DJ,
> Uses a "U" constraint. What should that constraint do? Could you post a
> patch to add it?
The U constraint was part of a source tree we worked on previously. I have
provided the patch for it below.
I have also set the valloc attribute for the multiplication insns to 'umul'.
Would that
This patch:
2013-05-31 Kaushik Phatak
* config/rl78/rl78.md (mulqi3,mulhi3): New define_expands.
(*mulqi3_rl78,*mulhi3_rl78,*mulhi3_g13): New define_insns.
Uses a "U" constraint which isn't defined in rl78/constraints.md
What should that constraint do? Could you post