1# This test has been observed to fail on 32-bit architectures (see e.g. 2# https://github.com/llvm/llvm-project/issues/62184). Since we're aiming to 3# bring up JITLink support for ppc64{le} anyway (see 4# https://github.com/llvm/llvm-project/issues/62253) I've opted to just disable 5# it on 32-bit architectures for now. 6# REQUIRES: llvm-64-bits 7# 8# RUN: rm -rf %t && mkdir -p %t 9# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf.o %s 10# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s 11# RUN: llvm-rtdyld -triple=powerpc64le-unknown-linux-gnu -verify -check=%s %t/ppc64_elf.o %t/ppc64_elf_module_b.o 12 13 .text 14 .abiversion 2 15 .file "Module2.ll" 16 .globl bar # -- Begin function bar 17 .p2align 4 18 .type bar,@function 19.Lfunc_toc0: # @bar 20 .quad .TOC.-.Lfunc_gep0 21bar: 22.Lfunc_begin0: 23 .cfi_startproc 24.Lfunc_gep0: 25 ld 2, .Lfunc_toc0-.Lfunc_gep0(12) 26 add 2, 2, 12 27.Lfunc_lep0: 28 .localentry bar, .Lfunc_lep0-.Lfunc_gep0 29# %bb.0: 30 mflr 0 31 std 0, 16(1) 32 stdu 1, -32(1) 33 .cfi_def_cfa_offset 32 34 .cfi_offset lr, 16 35# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 0)) [15:0] = foo_gep [63:48] 36# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 4)) [15:0] = foo_gep [47:32] 37# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 12)) [15:0] = foo_gep [31:16] 38# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 16)) [15:0] = foo_gep [15:0] 39# rtdyld-check: decode_operand(foo_call, 0) = (stub_addr(ppc64_elf.o/.text, foo) - foo_call) >> 2 40foo_call: 41 bl foo 42 nop 43 addi 1, 1, 32 44 ld 0, 16(1) 45 mtlr 0 46 blr 47 .long 0 48 .quad 0 49.Lfunc_end0: 50 .size bar, .Lfunc_end0-.Lfunc_begin0 51 .cfi_endproc 52 # -- End function 53 54 .section ".note.GNU-stack","",@progbits 55