summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/alignment.ll
blob: 5908c0cde61eb5a166ff9d93e68898ef2dbbbbd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
; RUN: llc %s -o - -mtriple=x86_64-linux-gnu | FileCheck %s

; This cannot get rounded up to the preferred alignment (16) if they have an
; explicit alignment specified.
@GlobalA = global { [384 x i8] } zeroinitializer, align 8 

; CHECK:	.bss
; CHECK:	.globl	GlobalA
; CHECK:	.align	8
; CHECK: GlobalA:
; CHECK:	.zero	384

; Common variables should not get rounded up to the preferred alignment (16) if
; they have an explicit alignment specified.
; PR6921
@GlobalB = common global { [384 x i8] } zeroinitializer, align 8

; CHECK: 	.comm	GlobalB,384,8


@GlobalC = common global { [384 x i8] } zeroinitializer, align 2

; CHECK: 	.comm	GlobalC,384,2



; 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