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
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
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
18 define dso_local signext i32 @foo() {
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>:
50 ;CHECKOBJ64-NEXT: 34: 00 00 00 40 <unknown>
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)
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)