shift instruction
naga raj
gnuuser.raj@gmail.com
Thu Jun 7 06:31:00 GMT 2012
Hi all,
I am working on a soft-processor which has barrel-shifter as
optional i.e if barrel-shifter hardware is included then my compiler
can generate shift instructions with immediate operand if
barrel-shifter is not included than it can shift only one bit.
Ex: If I want to shift a register right for 24 times
case 1: If barrel-shifter is present then it generates as below
SHL r0,r0,#24
case 2: Without barrel-shifter
SHL r0,r0,#1
SHL r0,r0,#1
SHL r0,r0,#1
-----
-----
SHL r0,r0,#1
Compiler will generate SHL instruction for 24 times.
Is there any chance to optimize generated code when barrel-shifter
is not used because as the immediate operand number increases it is
genereating that huge code.
Thanks in Advance,
Nagaraju
More information about the Gcc-help
mailing list