This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.


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

Re: Loop unrolling and asm


> 
> Hi folks,
> 
> While trying out egcs-1.0.2-prerelease, I compiled the
> new XFree86-3.3.2 on a Linux 2.1.88 (RH 5.0) PPro box.
> binutils-2.8.(...).21 is installed.
> 
> I used -O2 -march=i686 -funroll-loops to compile XFree.
> I encountered a small problem where a loop containing asm
> was unrolled.  The asm included labels (.label00, .label01, ...)
> and the assembler died because of multiple definitions of
> the labels.
> 
> The problem, of course, went away when I recompiled the incriminated
> file without loop unrolling.
> 
> XFree seems to run fine.
> 
> Now the question: how do you go about including an asm with labels
> in a loop that will be unrolled?
> 

Use 0f, 1f, .... 9f, 0b, .... 9b instead of .label00 in asm. But
At one time, I needed more than 10 lables backward/forward. I had
to disable inline. I think it is limited by binutils. Can we change
binutils to accept more than 10 local lables? 


-- 
H.J. Lu (hjl@gnu.org)