These were previously re-enabled in
d771f54107c, but had to be disabled again
in
2060a72b4d7 due to test failures.
This is a next step to landing https://reviews.llvm.org/D148192, which adds
a skeleton JITLink backend for PowerPC.
The fixes for those failures were (1) to explicitly specify IsLittleEndian =
true for the MachO YAML testcases, (2) disable some example tests for examples
that aren't supported on PowerPC yet, and (3) fixing the endianness of a
relocation read/write (for ELF R_AARCH64_TSTBR14) in RuntimeDyldELF.
assert(isInt<16>(BranchImm));
- *TargetPtr &= 0xfff8001fU;
+ uint32_t RawInstr = *(support::little32_t *)TargetPtr;
+ *(support::little32_t *)TargetPtr = RawInstr & 0xfff8001fU;
+
// Immediate:15:2 goes in bits 18:5 of TBZ, TBNZ
or32le(TargetPtr, (BranchImm & 0x0000FFFC) << 3);
break;
# Instructions for debugging can be found in LLJITWithRemoteDebugging.cpp
# REQUIRES: default_triple
+# UNSUPPORTED: target=powerpc64{{.*}}
# RUN: LLJITWithRemoteDebugging %p/Inputs/argc_sub1_elf.ll | FileCheck --check-prefix=CHECK0 %s
# CHECK0: Parsing input IR code from: {{.*}}/Inputs/argc_sub1_elf.ll
# RUN: opt -module-summary %p/Inputs/bar-mod.ll -o %T/bar-mod.bc
# REQUIRES: default_triple
+# UNSUPPORTED: target=powerpc64{{.*}}
# RUN: llvm-lto -thinlto -o %T/main-foo-bar %T/main-mod.bc %T/foo-mod.bc %T/bar-mod.bc
# RUN: OrcV2CBindingsLazy 2>&1 | FileCheck -check-prefix=THIS %s
# RUN: OrcV2CBindingsLazy 0 2>&1 | FileCheck -check-prefix=OTHER %s
+# UNSUPPORTED: target=powerpc64{{.*}}
+
# THIS: entry(1) = 1
# OTHER: entry(2) = 2
# CHECK-NEXT: target = _foo
--- !mach-o
+IsLittleEndian: true
FileHeader:
magic: 0xFEEDFACF
cputype: 0x1000007
# CHECK: llvm-jitlink error: No CIE found at address
--- !mach-o
+IsLittleEndian: true
FileHeader:
magic: 0xFEEDFACF
cputype: 0x1000007
# CHECK: llvm-jitlink error: No symbol or block covering address
--- !mach-o
+IsLittleEndian: true
FileHeader:
magic: 0xFEEDFACF
cputype: 0x1000007
-if config.root.native_target in ["Sparc", "PowerPC", "SystemZ", "Hexagon", "RISCV"]:
+if config.root.native_target in ['Sparc', 'SystemZ', 'Hexagon', 'RISCV']:
config.unsupported = True
# ExecutionEngine tests are not expected to pass in a cross-compilation setup.