1# REQUIRES: ppc 2## Test code sequences of synthesized _savegpr0_{14..31} 3 4# RUN: llvm-mc -filetype=obj -triple=ppc64le %s -o %t14.o 5# RUN: ld.lld %t14.o -o %t14 6# RUN: llvm-objdump -d %t14 | FileCheck --check-prefix=R14 %s 7 8# R14-LABEL: <_savegpr0_14>: 9# R14-NEXT: std 14, -144(1) 10# R14-NEXT: std 15, -136(1) 11# R14-EMPTY: 12# R14-NEXT: <_savegpr0_16>: 13# R14-NEXT: std 16, -128(1) 14# R14: std 31, -8(1) 15# R14-NEXT: std 0, 16(1) 16# R14-NEXT: blr 17 18## Don't synthesize _savegpr0_{14..30} because they are unused. 19# RUN: echo 'bl _savegpr0_31' | llvm-mc -filetype=obj -triple=ppc64 - -o %t31.o 20# RUN: ld.lld %t31.o -o %t31 21# RUN: llvm-objdump -d %t31 | FileCheck --check-prefix=R31 %s 22 23# R31-LABEL: Disassembly of section .text: 24# R31-EMPTY: 25# R31-NEXT: <_savegpr0_31>: 26# R31-NEXT: std 31, -8(1) 27# R31-NEXT: std 0, 16(1) 28# R31-NEXT: blr 29 30# RUN: echo 'bl _savegpr0_32' | llvm-mc -filetype=obj -triple=ppc64 - -o %t32.o 31# RUN: not ld.lld %t32.o -o /dev/null 32 33.globl _start 34_start: 35 bl _savegpr0_14 36 bl _savegpr0_16 37