Skip to content
Snippets Groups Projects
Commit 1ef9826f authored by Chris Lattner's avatar Chris Lattner
Browse files

"On SPU, variables in the .bss section that are allocated with the .lcomm...

"On SPU, variables in the .bss section that are allocated with the .lcomm directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment.

this patch disables .lcomm in favour of '.local .comm'

Patch by Kalle Raisklia!

llvm-svn: 100875
parent 394b6242
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,6 @@ SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT) {
ZeroDirective = "\t.space\t";
Data64bitsDirective = "\t.quad\t";
AlignmentIsInBytes = false;
HasLCOMMDirective = true;
PCSymbol = ".";
CommentString = "#";
......
; RUN: llc < %s -march=cellspu > %t1.s
; RUN: grep "\.section" %t1.s | grep "\.bss" | count 1
; CHECK-NOT: .lcomm
@bssVar = global i32 zeroinitializer
@localVar= internal global i32 zeroinitializer
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment