This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Insn canonicalization not only with constant
- From: Sami Khawam <S dot Khawam at ee dot ed dot ac dot uk>
- To: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 14 Feb 2007 20:30:52 +0000
- Subject: Re: Insn canonicalization not only with constant
- References: <45D34778.8000303@ee.ed.ac.uk> <20070214180920.GA5247@sygehus.dk>
Hi Rask,
Basically the CPU has the 'SCALE_28_4' instruction which does the following:
output = (operand1 >> 28) | (operand2 << 4)
From my understanding the OR operation (ior), doesn't get canonicalized
since it's second operand (in this case (lshiftrt:SI (match_operand:SI 2
"register_operand" "r") (const_int 4)) ) is not a constant.
Sami