1# RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -x mir -verify-machineinstrs \ 2# RUN: -xcoff-traceback-table=false -start-after=lazy-machine-block-freq -filetype=obj -o %t.o < %s 3# RUN: llvm-readobj --relocs --expand-relocs --syms %t.o | FileCheck --check-prefixes=RELOC,SYM %s 4# RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s 5 6--- 7name: foo 8alignment: 16 9tracksRegLiveness: true 10jumpTable: 11 kind: label-difference32 12 entries: 13 - id: 0 14 blocks: [ '%bb.0' ] 15body: | 16 bb.0: 17 successors: %bb.0(0x20000000) 18 liveins: $r2 19 renamable $r3 = LWZtoc %jump-table.0, $r2 :: (load (s32) from got) 20 BLR implicit $lr, implicit $rm, implicit killed $r3 21... 22 23# RELOC: Relocation {{[{][[:space:]] *}}Virtual Address: 0x8 24# RELOC-NEXT: Symbol: ([[#TXT_INDX:]]) 25# RELOC-NEXT: IsSigned: No 26# RELOC-NEXT: FixupBitValue: 0 27# RELOC-NEXT: Length: 32 28# RELOC-NEXT: Type: R_POS (0x0) 29# RELOC-NEXT: } 30# RELOC-NEXT: Relocation { 31# RELOC-NEXT: Virtual Address: 0x8 32# RELOC-NEXT: Symbol: .rodata ([[#RO_INDX:]]) 33# RELOC-NEXT: IsSigned: No 34# RELOC-NEXT: FixupBitValue: 0 35# RELOC-NEXT: Length: 32 36# RELOC-NEXT: Type: R_NEG (0x1) 37# RELOC-NEXT: } 38 39# SYM: Symbol {{[{][[:space:]] *}}Index: [[#TXT_INDX]]{{[[:space:]] *}}Name: 40# SYM-NEXT: Value (RelocatableAddress): 0x0 41# SYM-NEXT: Section: .text 42# SYM-NEXT: Type: 0x0 43# SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 44# SYM-NEXT: NumberOfAuxEntries: 1 45# SYM-NEXT: CSECT Auxiliary Entry { 46# SYM-NEXT: Index: [[#TXT_INDX+1]] 47# SYM-NEXT: SectionLen: 8 48# SYM-NEXT: ParameterHashIndex: 0x0 49# SYM-NEXT: TypeChkSectNum: 0x0 50# SYM-NEXT: SymbolAlignmentLog2: 5 51# SYM-NEXT: SymbolType: XTY_SD (0x1) 52# SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 53# SYM-NEXT: StabInfoIndex: 0x0 54# SYM-NEXT: StabSectNum: 0x0 55# SYM-NEXT: } 56# SYM-NEXT: } 57# SYM: Symbol {{[{][[:space:]] *}}Index: [[#RO_INDX]]{{[[:space:]] *}}Name: .rodata 58# SYM-NEXT: Value (RelocatableAddress): 0x8 59# SYM-NEXT: Section: .text 60# SYM-NEXT: Type: 0x0 61# SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 62# SYM-NEXT: NumberOfAuxEntries: 1 63# SYM-NEXT: CSECT Auxiliary Entry { 64# SYM-NEXT: Index: [[#RO_INDX+1]] 65# SYM-NEXT: SectionLen: 4 66# SYM-NEXT: ParameterHashIndex: 0x0 67# SYM-NEXT: TypeChkSectNum: 0x0 68# SYM-NEXT: SymbolAlignmentLog2: 2 69# SYM-NEXT: SymbolType: XTY_SD (0x1) 70# SYM-NEXT: StorageMappingClass: XMC_RO (0x1) 71# SYM-NEXT: StabInfoIndex: 0x0 72# SYM-NEXT: StabSectNum: 0x0 73# SYM-NEXT: } 74# SYM-NEXT: } 75 76# DIS: Disassembly of section .text: 77# DIS-EMPTY: 78# DIS-NEXT: 00000000 <.foo>: 79# DIS-NEXT: 0: 80 62 00 00 lwz 3, 0(2) 80# DIS-NEXT: 4: 4e 80 00 20 blr 81# DIS-EMPTY: 82# DIS-NEXT: 00000008 <.rodata>: 83# DIS-NEXT: 8: ff ff ff f8 fmsub 31, 31, 31, 31 84# DIS-EMPTY: 85