|  | ; RUN: rm -rf %t | 
|  | ; RUN: mkdir -p %t | 
|  |  | 
|  | ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 < %s | FileCheck %s | 
|  |  | 
|  | ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 --filetype=obj -o %t/global-merge-aix-sections.o < %s | 
|  | ; RUN: llvm-objdump --syms %t/global-merge-aix-sections.o | FileCheck %s --check-prefix=DATA | 
|  |  | 
|  | %struct.Example = type { i32, i8 } | 
|  |  | 
|  | @y = internal global i32 0, section "mycsect", align 4 | 
|  | @z = internal global i32 0, section "mycsect", align 4 | 
|  | @l = internal global i32 0, align 4 | 
|  | @u = internal global i16 0, section "mycsect", align 2 | 
|  | @myStruct1 = internal global %struct.Example zeroinitializer, section "mycsect", align 4 | 
|  |  | 
|  | ; Function Attrs: nounwind | 
|  | define void @g() { | 
|  | entry: | 
|  | tail call void @f(ptr noundef nonnull @y, ptr noundef nonnull @z) | 
|  | tail call void @f(ptr noundef nonnull @l, ptr noundef nonnull @z) | 
|  | tail call void @h(ptr noundef nonnull @u) | 
|  | tail call void @s(ptr noundef nonnull @myStruct1) | 
|  | ret void | 
|  | } | 
|  |  | 
|  | declare void @f(ptr noundef, ptr noundef) | 
|  | declare void @h(ptr noundef) | 
|  | declare void @s(ptr noundef) | 
|  |  | 
|  | ; CHECK: .csect mycsect[RW],2 | 
|  | ; CHECK-NEXT: .lglobl u # @_MergedGlobals | 
|  | ; CHECK-NEXT: .lglobl y | 
|  | ; CHECK-NEXT: .lglobl z | 
|  | ; CHECK-NEXT: .lglobl myStruct1 | 
|  | ; CHECK-NEXT: .align  2 | 
|  | ; CHECK-NEXT: L.._MergedGlobals: | 
|  | ; CHECK-NEXT: u: | 
|  | ; CHECK-NEXT:        .space  2 | 
|  | ; CHECK-NEXT:        .space  2 | 
|  | ; CHECK-NEXT: y: | 
|  | ; CHECK-NEXT:        .space  4 | 
|  | ; CHECK-NEXT: z: | 
|  | ; CHECK-NEXT:        .space  4 | 
|  | ; CHECK-NEXT: myStruct1: | 
|  | ; CHECK-NEXT:        .space  8 | 
|  |  | 
|  | ; DATA:      0000000000000080 l     O .data	0000000000000014 mycsect | 
|  | ; DATA-NEXT: 0000000000000080 l     O .data (csect: mycsect) 	0000000000000000 u | 
|  | ; DATA-NEXT: 0000000000000084 l     O .data (csect: mycsect) 	0000000000000000 y | 
|  | ; DATA-NEXT: 0000000000000088 l     O .data (csect: mycsect) 	0000000000000000 z | 
|  | ; DATA-NEXT: 000000000000008c l     O .data (csect: mycsect) 	0000000000000000 myStruct1 |