1; RUN: llc -mcpu=pwr4 -mattr=-altivec -mtriple=powerpc-ibm-aix-xcoff \ 2; RUN: -verify-machineinstrs -data-sections=false -xcoff-traceback-table=false < %s | FileCheck %s 3; RUN: llc -mcpu=pwr4 -mattr=-altivec -mtriple=powerpc-ibm-aix-xcoff \ 4; RUN: -verify-machineinstrs -data-sections=false -xcoff-traceback-table=false -filetype=obj -o %t.o < %s 5; RUN: llvm-objdump -D %t.o | FileCheck --check-prefixes=CHECKOBJ,CHECKOBJ32 %s 6; RUN: llvm-readobj -S %t.o | FileCheck --check-prefixes=CHECKSECT,CHECKSECT32 %s 7 8; RUN: llc -mcpu=pwr4 -mattr=-altivec -mtriple=powerpc64-ibm-aix-xcoff \ 9; RUN: -verify-machineinstrs -data-sections=false -xcoff-traceback-table=false \ 10; RUN: -filetype=obj -o %t64.o < %s 11; RUN: llvm-objdump -D %t64.o | FileCheck --check-prefixes=CHECKOBJ,CHECKOBJ64 %s 12; RUN: llvm-readobj -S %t64.o | FileCheck --check-prefixes=CHECKSECT,CHECKSECT64 %s 13 14@a = global i64 320255973571806, align 8 15@d = global double 5.000000e+00, align 8 16@strA = private unnamed_addr constant [10 x i8] c"hellowor\0A\00", align 1 17 18define dso_local signext i32 @foo() { 19entry: 20 ret i32 55 21; CHECK-LABEL: .foo: 22; CHECK: li 3, 55 23; CHECK: blr 24} 25 26;CHECKOBJ32: 00000000 <.foo>: 27;CHECKOBJ64: 0000000000000000 <.foo>: 28;CHECKOBJ-NEXT: 0: 38 60 00 37 li 3, 55 29;CHECKOBJ-NEXT: 4: 4e 80 00 20 blr{{[[:space:]] *}} 30;CHECKOBJ32-NEXT: 00000008 <.rodata>: 31;CHECKOBJ64-NEXT: 0000000000000008 <.rodata>: 32;CHECKOBJ-NEXT: 8: 68 65 6c 6c xori 5, 3, 27756 33;CHECKOBJ-NEXT: c: 6f 77 6f 72 xoris 23, 27, 28530 34;CHECKOBJ-NEXT: 10: 0a 00 00 00 tdlti 0, 0{{[[:space:]] *}} 35;CHECKOBJ-NEXT: Disassembly of section .data:{{[[:space:]] *}} 36;CHECKOBJ32-NEXT: 00000018 <a>: 37;CHECKOBJ64-NEXT: 0000000000000018 <a>: 38;CHECKOBJ-NEXT: 18: 00 01 23 45 <unknown> 39;CHECKOBJ-NEXT: 1c: 67 8a bc de oris 10, 28, 48350{{[[:space:]] *}} 40;CHECKOBJ32-NEXT: 00000020 <d>: 41;CHECKOBJ64-NEXT: 0000000000000020 <d>: 42;CHECKOBJ-NEXT: 20: 40 14 00 00 bdnzf 20, 0x20 <d> 43;CHECKOBJ-NEXT: 24: 00 00 00 00 <unknown>{{[[:space:]] *}} 44;CHECKOBJ32-NEXT: 00000028 <foo>: 45;CHECKOBJ32-NEXT: 28: 00 00 00 00 <unknown> 46;CHECKOBJ32-NEXT: 2c: 00 00 00 34 <unknown> 47;CHECKOBJ32-NEXT: 30: 00 00 00 00 <unknown> 48;CHECKOBJ64-NEXT: 0000000000000028 <foo>: 49;CHECKOBJ64-NEXT: ... 50;CHECKOBJ64-NEXT: 34: 00 00 00 40 <unknown> 51 52;CHECKSECT: Sections [ 53;CHECKSECT-NEXT: Section { 54;CHECKSECT-NEXT: Index: 1 55;CHECKSECT-NEXT: Name: .text 56;CHECKSECT-NEXT: PhysicalAddress: 0x0 57;CHECKSECT-NEXT: VirtualAddress: 0x0 58;CHECKSECT-NEXT: Size: 0x14 59;CHECKSECT32-NEXT: RawDataOffset: 0x64 60;CHECKSECT64-NEXT: RawDataOffset: 0xA8 61;CHECKSECT-NEXT: RelocationPointer: 0x0 62;CHECKSECT-NEXT: LineNumberPointer: 0x0 63;CHECKSECT-NEXT: NumberOfRelocations: 0 64;CHECKSECT-NEXT: NumberOfLineNumbers: 0 65;CHECKSECT-NEXT: Type: STYP_TEXT (0x20) 66;CHECKSECT-NEXT: } 67;CHECKSECT-NEXT: Section { 68;CHECKSECT-NEXT: Index: 2 69;CHECKSECT-NEXT: Name: .data 70;CHECKSECT-NEXT: PhysicalAddress: 0x18 71;CHECKSECT-NEXT: VirtualAddress: 0x18 72;CHECKSECT32-NEXT: Size: 0x1C 73;CHECKSECT32-NEXT: RawDataOffset: 0x78 74;CHECKSECT32-NEXT: RelocationPointer: 0x94 75;CHECKSECT64-NEXT: Size: 0x28 76;CHECKSECT64-NEXT: RawDataOffset: 0xBC 77;CHECKSECT64-NEXT: RelocationPointer: 0xE4 78;CHECKSECT-NEXT: LineNumberPointer: 0x0 79;CHECKSECT-NEXT: NumberOfRelocations: 2 80;CHECKSECT-NEXT: NumberOfLineNumbers: 0 81;CHECKSECT-NEXT: Type: STYP_DATA (0x40) 82;CHECKSECT-NEXT: } 83;CHECKSECT-NEXT: ] 84