This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: new mul* patterns "U" constraint in rl78
- From: DJ Delorie <dj at redhat dot com>
- To: Kaushik Phatak <Kaushik dot Phatak at kpitcummins dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 10 Jun 2013 14:49:03 -0400
- Subject: Re: new mul* patterns "U" constraint in rl78
- References: <201306061928 dot r56JSEer014307 at greed dot delorie dot com> <C6CA53A2A46BA7469348BDBD663AB6585308DAE0 at KCHJEXMB02 dot kpit dot com>
"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 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. The devirutalizer does not need to
devirtualize these insns.