This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

shift instruction


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]