Rework global alignment computation again. Now we do round up
[oota-llvm.git] / test / CodeGen / X86 / alignment.ll
index 06a4f3f8e884b223116c400b43063a471516d022..9678e6df740ed5614766289dc468eb8dd516bac0 100644 (file)
@@ -6,7 +6,7 @@
 
 ; CHECK:       .bss
 ; CHECK:       .globl  GlobalA
-; CHECK:       .align  8
+; CHECK:       .align  16
 ; CHECK: GlobalA:
 ; CHECK:       .zero   384
 
 ; PR6921
 @GlobalB = common global { [384 x i8] } zeroinitializer, align 8
 
-; CHECK:       .comm   GlobalB,384,8
\ No newline at end of file
+; CHECK:       .comm   GlobalB,384,16
+
+
+@GlobalC = common global { [384 x i8] } zeroinitializer, align 2
+
+; CHECK:       .comm   GlobalC,384,16
+
+
+
+; This cannot get rounded up to the preferred alignment (16) if they have an
+; explicit alignment specified *and* a section specified.
+@GlobalAS = global { [384 x i8] } zeroinitializer, align 8, section "foo"
+
+; CHECK:       .globl  GlobalAS
+; CHECK:       .align  8
+; CHECK: GlobalAS:
+; CHECK:       .zero   384
+
+; Common variables should not get rounded up to the preferred alignment (16) if
+; they have an explicit alignment specified and a section specified.
+; PR6921
+@GlobalBS = common global { [384 x i8] } zeroinitializer, align 8, section "foo"
+; CHECK:       .comm   GlobalBS,384,8
+
+@GlobalCS = common global { [384 x i8] } zeroinitializer, align 2, section "foo"
+; CHECK:       .comm   GlobalCS,384,2
\ No newline at end of file