xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/elf-lcomm-align.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=arm-linux-gnueabi -O0 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; run with -O0 to avoid arm global merging.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker@c = internal global i8 0, align 1
5*9880d681SAndroid Build Coastguard Worker@x = internal global i32 0, align 4
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; .lcomm doesn't support alignment, so we always use .local/.comm.
8*9880d681SAndroid Build Coastguard Worker; CHECK: .local c
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .comm c,1,1
10*9880d681SAndroid Build Coastguard Worker; CHECK: .local x
11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .comm x,4,4
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerdefine i32 @foo() nounwind {
14*9880d681SAndroid Build Coastguard Worker  ret i32 sub (i32 ptrtoint (i8* @c to i32), i32 ptrtoint (i32* @x to i32))
15*9880d681SAndroid Build Coastguard Worker}
16