Hi,
I configure llvm to generate code for alpha. I use a the following steps to generate code from the source files:
- llvm-gcc -c main.c -emit-llvm main.bc
- opt -load -myPass main.bc main.opt.bc
- llc -march=alpha main.opt.bc -o main.S
- 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.