39 lines · plain
1# REQUIRES: ppc2## Test code sequences of synthesized _restgpr0_{14..31}3 4# RUN: llvm-mc -filetype=obj -triple=ppc64le %s -o %t14.o5# RUN: ld.lld %t14.o -o %t146# RUN: llvm-objdump -d %t14 | FileCheck --check-prefix=R14 %s7 8# R14-LABEL: <_restgpr0_14>:9# R14-NEXT: ld 14, -144(1)10# R14-NEXT: ld 15, -136(1)11# R14-EMPTY:12# R14-NEXT: <_restgpr0_16>:13# R14-NEXT: ld 16, -128(1)14# R14: ld 31, -8(1)15# R14-NEXT: ld 0, 16(1)16# R14-NEXT: mtlr 017# R14-NEXT: blr18 19## Don't synthesize _restgpr0_{14..30} because they are unused.20# RUN: echo 'bl _restgpr0_31' | llvm-mc -filetype=obj -triple=ppc64 - -o %t31.o21# RUN: ld.lld %t31.o -o %t3122# RUN: llvm-objdump -d %t31 | FileCheck --check-prefix=R31 %s23 24# R31-LABEL: Disassembly of section .text:25# R31-EMPTY:26# R31-NEXT: <_restgpr0_31>:27# R31-NEXT: ld 31, -8(1)28# R31-NEXT: ld 0, 16(1)29# R31-NEXT: mtlr 030# R31-NEXT: blr31 32# RUN: echo 'bl _restgpr0_32' | llvm-mc -filetype=obj -triple=ppc64 - -o %t32.o33# RUN: not ld.lld %t32.o -o /dev/null34 35.globl _start36_start:37 bl _restgpr0_1438 bl _restgpr0_1639