1*37b5eb0aSZaara Syeda; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK 2*37b5eb0aSZaara Syeda; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK 3*37b5eb0aSZaara Syeda 4*37b5eb0aSZaara Syeda; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff < %s -o %t32.o 5*37b5eb0aSZaara Syeda; RUN: llvm-readobj %t32.o --syms | FileCheck %s --check-prefix=OBJ32 6*37b5eb0aSZaara Syeda; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff < %s -o %t64.o 7*37b5eb0aSZaara Syeda; RUN: llvm-readobj %t64.o --syms | FileCheck %s --check-prefix=OBJ64 8*37b5eb0aSZaara Syeda 9*37b5eb0aSZaara Syeda%struct.small_struct = type { i16 } 10*37b5eb0aSZaara Syeda 11*37b5eb0aSZaara Syeda@a = global %struct.small_struct zeroinitializer, align 2 #0 12*37b5eb0aSZaara Syeda@b = global [2 x i16] zeroinitializer, align 2 #0 13*37b5eb0aSZaara Syeda 14*37b5eb0aSZaara Syeda; Function Attrs: noinline 15*37b5eb0aSZaara Syedadefine i16 @foo() #1 { 16*37b5eb0aSZaara Syedaentry: 17*37b5eb0aSZaara Syeda %0 = load i16, ptr @a, align 2 18*37b5eb0aSZaara Syeda %1 = load i16, ptr @b, align 2 19*37b5eb0aSZaara Syeda %add = add nsw i16 %0, %1 20*37b5eb0aSZaara Syeda ret i16 %add 21*37b5eb0aSZaara Syeda} 22*37b5eb0aSZaara Syeda 23*37b5eb0aSZaara Syedaattributes #0 = { "toc-data" } 24*37b5eb0aSZaara Syedaattributes #1 = { noinline } 25*37b5eb0aSZaara Syeda 26*37b5eb0aSZaara Syeda; CHECK: .toc 27*37b5eb0aSZaara Syeda; CHECK-NEXT: .csect a[TD],2 28*37b5eb0aSZaara Syeda; CHECK-NEXT: .globl a[TD] # @a 29*37b5eb0aSZaara Syeda; CHECK-NEXT: .align 1 30*37b5eb0aSZaara Syeda; CHECK-NEXT: .space 2 31*37b5eb0aSZaara Syeda; CHECK-NEXT: .csect b[TD],2 32*37b5eb0aSZaara Syeda; CHECK-NEXT: .globl b[TD] # @b 33*37b5eb0aSZaara Syeda; CHECK-NEXT: .align 1 34*37b5eb0aSZaara Syeda; CHECK-NEXT: .space 4 35*37b5eb0aSZaara Syeda 36*37b5eb0aSZaara Syeda; OBJ32: Symbol { 37*37b5eb0aSZaara Syeda; OBJ32: Name: a 38*37b5eb0aSZaara Syeda; OBJ32-NEXT: Value (RelocatableAddress): 0x3C 39*37b5eb0aSZaara Syeda; OBJ32-NEXT: Section: .data 40*37b5eb0aSZaara Syeda; OBJ32-NEXT: Type: 0x0 41*37b5eb0aSZaara Syeda; OBJ32-NEXT: StorageClass: C_EXT (0x2) 42*37b5eb0aSZaara Syeda; OBJ32-NEXT: NumberOfAuxEntries: 1 43*37b5eb0aSZaara Syeda; OBJ32-NEXT: CSECT Auxiliary Entry { 44*37b5eb0aSZaara Syeda; OBJ32-NEXT: Index: {{[0-9]+}} 45*37b5eb0aSZaara Syeda; OBJ32-NEXT: SectionLen: 2 46*37b5eb0aSZaara Syeda; OBJ32-NEXT: ParameterHashIndex: 0x0 47*37b5eb0aSZaara Syeda; OBJ32-NEXT: TypeChkSectNum: 0x0 48*37b5eb0aSZaara Syeda; OBJ32-NEXT: SymbolAlignmentLog2: 2 49*37b5eb0aSZaara Syeda; OBJ32-NEXT: SymbolType: XTY_SD (0x1) 50*37b5eb0aSZaara Syeda; OBJ32-NEXT: StorageMappingClass: XMC_TD (0x10) 51*37b5eb0aSZaara Syeda; OBJ32-NEXT: StabInfoIndex: 0x0 52*37b5eb0aSZaara Syeda; OBJ32-NEXT: StabSectNum: 0x0 53*37b5eb0aSZaara Syeda; OBJ32-NEXT: } 54*37b5eb0aSZaara Syeda; OBJ32-NEXT: } 55*37b5eb0aSZaara Syeda; OBJ32-NEXT: Symbol { 56*37b5eb0aSZaara Syeda; OBJ32: Name: b 57*37b5eb0aSZaara Syeda; OBJ32-NEXT: Value (RelocatableAddress): 0x40 58*37b5eb0aSZaara Syeda; OBJ32-NEXT: Section: .data 59*37b5eb0aSZaara Syeda; OBJ32-NEXT: Type: 0x0 60*37b5eb0aSZaara Syeda; OBJ32-NEXT: StorageClass: C_EXT (0x2) 61*37b5eb0aSZaara Syeda; OBJ32-NEXT: NumberOfAuxEntries: 1 62*37b5eb0aSZaara Syeda; OBJ32-NEXT: CSECT Auxiliary Entry { 63*37b5eb0aSZaara Syeda; OBJ32-NEXT: Index: {{[0-9]+}} 64*37b5eb0aSZaara Syeda; OBJ32-NEXT: SectionLen: 4 65*37b5eb0aSZaara Syeda; OBJ32-NEXT: ParameterHashIndex: 0x0 66*37b5eb0aSZaara Syeda; OBJ32-NEXT: TypeChkSectNum: 0x0 67*37b5eb0aSZaara Syeda; OBJ32-NEXT: SymbolAlignmentLog2: 2 68*37b5eb0aSZaara Syeda; OBJ32-NEXT: SymbolType: XTY_SD (0x1) 69*37b5eb0aSZaara Syeda; OBJ32-NEXT: StorageMappingClass: XMC_TD (0x10) 70*37b5eb0aSZaara Syeda; OBJ32-NEXT: StabInfoIndex: 0x0 71*37b5eb0aSZaara Syeda; OBJ32-NEXT: StabSectNum: 0x0 72*37b5eb0aSZaara Syeda; OBJ32-NEXT: } 73*37b5eb0aSZaara Syeda; OBJ32-NEXT: } 74*37b5eb0aSZaara Syeda 75*37b5eb0aSZaara Syeda; OBJ64: Symbol { 76*37b5eb0aSZaara Syeda; OBJ64: Name: a 77*37b5eb0aSZaara Syeda; OBJ64-NEXT: Value (RelocatableAddress): 0x48 78*37b5eb0aSZaara Syeda; OBJ64-NEXT: Section: .data 79*37b5eb0aSZaara Syeda; OBJ64-NEXT: Type: 0x0 80*37b5eb0aSZaara Syeda; OBJ64-NEXT: StorageClass: C_EXT (0x2) 81*37b5eb0aSZaara Syeda; OBJ64-NEXT: NumberOfAuxEntries: 1 82*37b5eb0aSZaara Syeda; OBJ64-NEXT: CSECT Auxiliary Entry { 83*37b5eb0aSZaara Syeda; OBJ64-NEXT: Index: {{[0-9]+}} 84*37b5eb0aSZaara Syeda; OBJ64-NEXT: SectionLen: 2 85*37b5eb0aSZaara Syeda; OBJ64-NEXT: ParameterHashIndex: 0x0 86*37b5eb0aSZaara Syeda; OBJ64-NEXT: TypeChkSectNum: 0x0 87*37b5eb0aSZaara Syeda; OBJ64-NEXT: SymbolAlignmentLog2: 2 88*37b5eb0aSZaara Syeda; OBJ64-NEXT: SymbolType: XTY_SD (0x1) 89*37b5eb0aSZaara Syeda; OBJ64-NEXT: StorageMappingClass: XMC_TD (0x10) 90*37b5eb0aSZaara Syeda; OBJ64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 91*37b5eb0aSZaara Syeda; OBJ64-NEXT: } 92*37b5eb0aSZaara Syeda; OBJ64-NEXT: } 93*37b5eb0aSZaara Syeda; OBJ64-NEXT: Symbol { 94*37b5eb0aSZaara Syeda; OBJ64: Name: b 95*37b5eb0aSZaara Syeda; OBJ64-NEXT: Value (RelocatableAddress): 0x4C 96*37b5eb0aSZaara Syeda; OBJ64-NEXT: Section: .data 97*37b5eb0aSZaara Syeda; OBJ64-NEXT: Type: 0x0 98*37b5eb0aSZaara Syeda; OBJ64-NEXT: StorageClass: C_EXT (0x2) 99*37b5eb0aSZaara Syeda; OBJ64-NEXT: NumberOfAuxEntries: 1 100*37b5eb0aSZaara Syeda; OBJ64-NEXT: CSECT Auxiliary Entry { 101*37b5eb0aSZaara Syeda; OBJ64-NEXT: Index: {{[0-9]+}} 102*37b5eb0aSZaara Syeda; OBJ64-NEXT: SectionLen: 4 103*37b5eb0aSZaara Syeda; OBJ64-NEXT: ParameterHashIndex: 0x0 104*37b5eb0aSZaara Syeda; OBJ64-NEXT: TypeChkSectNum: 0x0 105*37b5eb0aSZaara Syeda; OBJ64-NEXT: SymbolAlignmentLog2: 2 106*37b5eb0aSZaara Syeda; OBJ64-NEXT: SymbolType: XTY_SD (0x1) 107*37b5eb0aSZaara Syeda; OBJ64-NEXT: StorageMappingClass: XMC_TD (0x10) 108*37b5eb0aSZaara Syeda; OBJ64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 109*37b5eb0aSZaara Syeda; OBJ64-NEXT: } 110*37b5eb0aSZaara Syeda; OBJ64-NEXT: } 111