66 lines · python
1# UNSUPPORTED: expensive_checks, debug2 3# RUN: %python %s > %t.ll4# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \5# RUN: FileCheck --check-prefix=ASM32 %s6 7# RUN: llc -mtriple powerpc64-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \8# RUN: FileCheck --check-prefix=ASM64 %s9 10# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 \11# RUN: -filetype=obj -o %t.o < %t.ll12# RUN: llvm-objdump --no-print-imm-hex -D -r --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=DIS32 %s13 14## FIXME: currently only fileHeader and sectionHeaders are supported in XCOFF64.15 16numentries = 1229017for x in range(0, numentries):18 print("@a%d = global i32 0, align 4" % (x))19 20print("define void @foo() {")21print("entry:")22for x in range(0, numentries):23 print("store i32 1, i32* @a%d, align 4" % (x))24print("ret void")25print("}")26 27# 32-bit assembly check28# ASM32: lwz 4, L..C0(2) # @a029# ASM32: lwz 4, L..C1(2) # @a130 31# ASM32: lwz 4, L..C8191(2) # @a819132# ASM32: lwz 4, L..C8192-65536(2) # @a819233# ASM32: lwz 4, L..C8193-65536(2) # @a819334 35# ASM32: lwz 4, L..C12288-65536(2) # @a1228836# ASM32: lwz 4, L..C12289-65536(2) # @a1228937 38# 64-bit assembly check39# ASM64: ld 4, L..C0(2) # @a040# ASM64: ld 4, L..C1(2) # @a141 42# ASM64: ld 4, L..C4095(2) # @a409543# ASM64: ld 4, L..C4096-65536(2) # @a409644# ASM64: ld 4, L..C4097-65536(2) # @a409745 46# ASM64: ld 4, L..C12287-65536(2) # @a1228747# ASM64: ld 4, L..C12288-131072(2) # @a1228848# ASM64: ld 4, L..C12289-131072(2) # @a1228949 50# DIS32: 0: 80 82 00 00 lwz 4, 0(2)51# DIS32: 00000002: R_TOC (idx: [[#NFA+24591]]) a0[TC]52# DIS32: c: 80 82 00 04 lwz 4, 4(2)53# DIS32: 0000000e: R_TOC (idx: [[#NFA+24593]]) a1[TC]54 55# DIS32: fffc: 80 82 7f fc lwz 4, 32764(2)56# DIS32: 0000fffe: R_TOC (idx: [[#NFA+40973]]) a8191[TC]57# DIS32: 10004: 80 82 80 00 lwz 4, -32768(2)58# DIS32: 00010006: R_TOC (idx: [[#NFA+40975]]) a8192[TC]59# DIS32: 1000c: 80 82 80 04 lwz 4, -32764(2)60# DIS32: 0001000e: R_TOC (idx: [[#NFA+40977]]) a8193[TC]61 62# DIS32: 18004: 80 82 c0 00 lwz 4, -16384(2)63# DIS32: 00018006: R_TOC (idx: [[#NFA+49167]]) a12288[TC]64# DIS32: 1800c: 80 82 c0 04 lwz 4, -16380(2)65# DIS32: 0001800e: R_TOC (idx: [[#NFA+49169]]) a12289[TC]66