alpha assembler with llc

Hi,

I configure llvm to generate code for alpha. I use a the following steps to generate code from the source files:

  1. llvm-gcc -c main.c -emit-llvm main.bc
  2. opt -load -myPass main.bc main.opt.bc
  3. llc -march=alpha main.opt.bc -o main.S
  4. alphaev67-unknown-linux-gnu-as main.S -o main.o

Most of the files that i compile run just fine. Suddenly, i have hit on a file where Step 4 generates the following error:
main.S:1794: Error: unknown pseudo-op: `.bss’

If i just use the alphaev67-unknown-linux-gnu-gcc all the files compile just fine. Only when i try to use the 4 steps then i come across this error for 1 file.

Is it a version mismatch between llc assmebly and alpha assembler? How should i go about debugging this? The errors also persist if i remove step 2.

The difference in error region in llc generated alpha assembly and the corresponding alpha cross compiler gcc genertated assembly is as follow:
llc generates:

.type fetch_ext_rgba_dxt1,@object # @fetch_ext_rgba_dxt1
.bss
.globl fetch_ext_rgba_dxt1
.align 3
fetch_ext_rgba_dxt1:
.quad 0
.size fetch_ext_rgba_dxt1, 8

alpha-gcc generates:

.zero 8
.globl fetch_ext_rgba_dxt1
.type fetch_ext_rgba_dxt1, @object
.size fetch_ext_rgba_dxt1, 8
.align 3
fetch_ext_rgba_dxt1:

Let me know if any other information is required.

Hi,

If i pass the following option to llc

-nozero-initialized-in-bss

things work out fine.

Thanks,