119b43e17SAmy Kwan; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 219b43e17SAmy Kwan; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 \ 3ccddd136SZaara Syeda; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s \ 419b43e17SAmy Kwan; RUN: --check-prefix=AIX64 519b43e17SAmy Kwan; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr8 \ 6ccddd136SZaara Syeda; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s \ 719b43e17SAmy Kwan; RUN: --check-prefix=AIX32 819b43e17SAmy Kwan; RUN: llc -verify-machineinstrs -mtriple powerpc64le-unknown-linux -mcpu=pwr8 \ 9*aaa37d67SZaara Syeda; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s \ 1019b43e17SAmy Kwan; RUN: --check-prefix=LINUX64LE 1119b43e17SAmy Kwan; RUN: llc -verify-machineinstrs -mtriple powerpc64-unknown-linux -mcpu=pwr8 \ 12*aaa37d67SZaara Syeda; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s \ 1319b43e17SAmy Kwan; RUN: --check-prefix=LINUX64BE 1493253819SAmy Kwan; The below run line is added to ensure that the assembly corresponding to 1593253819SAmy Kwan; the following check-prefix is generated by default on AIX (without any 1693253819SAmy Kwan; options). 1793253819SAmy Kwan; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 \ 1893253819SAmy Kwan; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s \ 1993253819SAmy Kwan; RUN: --check-prefix=AIX64 2019b43e17SAmy Kwan 2119b43e17SAmy Kwan@.str = private unnamed_addr constant [15 x i8] c"Private global\00", align 1 2219b43e17SAmy Kwan@str = internal constant [16 x i8] c"Internal global\00", align 1 2319b43e17SAmy Kwan 2419b43e17SAmy Kwandeclare noundef signext i32 @puts(ptr nocapture noundef readonly) 2519b43e17SAmy Kwan 2619b43e17SAmy Kwandefine dso_local void @print_func() { 2719b43e17SAmy Kwan; AIX64-LABEL: print_func: 2819b43e17SAmy Kwan; AIX64: # %bb.0: # %entry 2919b43e17SAmy Kwan; AIX64-NEXT: mflr r0 3019b43e17SAmy Kwan; AIX64-NEXT: stdu r1, -128(r1) 3119b43e17SAmy Kwan; AIX64-NEXT: std r0, 144(r1) 3219b43e17SAmy Kwan; AIX64-NEXT: std r31, 120(r1) # 8-byte Folded Spill 335e990b0bSAmy Kwan; AIX64-NEXT: ld r31, L..C0(r2) # @_MergedGlobals 3419b43e17SAmy Kwan; AIX64-NEXT: mr r3, r31 3519b43e17SAmy Kwan; AIX64-NEXT: bl .puts[PR] 3619b43e17SAmy Kwan; AIX64-NEXT: nop 3719b43e17SAmy Kwan; AIX64-NEXT: addi r3, r31, 15 3819b43e17SAmy Kwan; AIX64-NEXT: bl .puts[PR] 3919b43e17SAmy Kwan; AIX64-NEXT: nop 4019b43e17SAmy Kwan; AIX64-NEXT: ld r31, 120(r1) # 8-byte Folded Reload 4119b43e17SAmy Kwan; AIX64-NEXT: addi r1, r1, 128 4219b43e17SAmy Kwan; AIX64-NEXT: ld r0, 16(r1) 4319b43e17SAmy Kwan; AIX64-NEXT: mtlr r0 4419b43e17SAmy Kwan; AIX64-NEXT: blr 4519b43e17SAmy Kwan; 4619b43e17SAmy Kwan; AIX32-LABEL: print_func: 4719b43e17SAmy Kwan; AIX32: # %bb.0: # %entry 4819b43e17SAmy Kwan; AIX32-NEXT: mflr r0 4919b43e17SAmy Kwan; AIX32-NEXT: stwu r1, -64(r1) 5019b43e17SAmy Kwan; AIX32-NEXT: stw r0, 72(r1) 5119b43e17SAmy Kwan; AIX32-NEXT: stw r31, 60(r1) # 4-byte Folded Spill 525e990b0bSAmy Kwan; AIX32-NEXT: lwz r31, L..C0(r2) # @_MergedGlobals 5319b43e17SAmy Kwan; AIX32-NEXT: mr r3, r31 5419b43e17SAmy Kwan; AIX32-NEXT: bl .puts[PR] 5519b43e17SAmy Kwan; AIX32-NEXT: nop 5619b43e17SAmy Kwan; AIX32-NEXT: addi r3, r31, 15 5719b43e17SAmy Kwan; AIX32-NEXT: bl .puts[PR] 5819b43e17SAmy Kwan; AIX32-NEXT: nop 5919b43e17SAmy Kwan; AIX32-NEXT: lwz r31, 60(r1) # 4-byte Folded Reload 6019b43e17SAmy Kwan; AIX32-NEXT: addi r1, r1, 64 6119b43e17SAmy Kwan; AIX32-NEXT: lwz r0, 8(r1) 6219b43e17SAmy Kwan; AIX32-NEXT: mtlr r0 6319b43e17SAmy Kwan; AIX32-NEXT: blr 6419b43e17SAmy Kwan; 6519b43e17SAmy Kwan; LINUX64LE-LABEL: print_func: 6619b43e17SAmy Kwan; LINUX64LE: # %bb.0: # %entry 6719b43e17SAmy Kwan; LINUX64LE-NEXT: mflr r0 6819b43e17SAmy Kwan; LINUX64LE-NEXT: .cfi_def_cfa_offset 48 6919b43e17SAmy Kwan; LINUX64LE-NEXT: .cfi_offset lr, 16 7019b43e17SAmy Kwan; LINUX64LE-NEXT: .cfi_offset r30, -16 7119b43e17SAmy Kwan; LINUX64LE-NEXT: std r30, -16(r1) # 8-byte Folded Spill 7219b43e17SAmy Kwan; LINUX64LE-NEXT: stdu r1, -48(r1) 735e990b0bSAmy Kwan; LINUX64LE-NEXT: addis r3, r2, .L_MergedGlobals@toc@ha 7419b43e17SAmy Kwan; LINUX64LE-NEXT: std r0, 64(r1) 755e990b0bSAmy Kwan; LINUX64LE-NEXT: addi r30, r3, .L_MergedGlobals@toc@l 7619b43e17SAmy Kwan; LINUX64LE-NEXT: mr r3, r30 7719b43e17SAmy Kwan; LINUX64LE-NEXT: bl puts 7819b43e17SAmy Kwan; LINUX64LE-NEXT: nop 7919b43e17SAmy Kwan; LINUX64LE-NEXT: addi r3, r30, 15 8019b43e17SAmy Kwan; LINUX64LE-NEXT: bl puts 8119b43e17SAmy Kwan; LINUX64LE-NEXT: nop 8219b43e17SAmy Kwan; LINUX64LE-NEXT: addi r1, r1, 48 8319b43e17SAmy Kwan; LINUX64LE-NEXT: ld r0, 16(r1) 8419b43e17SAmy Kwan; LINUX64LE-NEXT: ld r30, -16(r1) # 8-byte Folded Reload 8519b43e17SAmy Kwan; LINUX64LE-NEXT: mtlr r0 8619b43e17SAmy Kwan; LINUX64LE-NEXT: blr 8719b43e17SAmy Kwan; 8819b43e17SAmy Kwan; LINUX64BE-LABEL: print_func: 8919b43e17SAmy Kwan; LINUX64BE: # %bb.0: # %entry 9019b43e17SAmy Kwan; LINUX64BE-NEXT: mflr r0 9119b43e17SAmy Kwan; LINUX64BE-NEXT: stdu r1, -128(r1) 9219b43e17SAmy Kwan; LINUX64BE-NEXT: std r0, 144(r1) 9319b43e17SAmy Kwan; LINUX64BE-NEXT: .cfi_def_cfa_offset 128 9419b43e17SAmy Kwan; LINUX64BE-NEXT: .cfi_offset lr, 16 9519b43e17SAmy Kwan; LINUX64BE-NEXT: .cfi_offset r30, -16 965e990b0bSAmy Kwan; LINUX64BE-NEXT: addis r3, r2, .L_MergedGlobals@toc@ha 9719b43e17SAmy Kwan; LINUX64BE-NEXT: std r30, 112(r1) # 8-byte Folded Spill 985e990b0bSAmy Kwan; LINUX64BE-NEXT: addi r30, r3, .L_MergedGlobals@toc@l 9919b43e17SAmy Kwan; LINUX64BE-NEXT: mr r3, r30 10019b43e17SAmy Kwan; LINUX64BE-NEXT: bl puts 10119b43e17SAmy Kwan; LINUX64BE-NEXT: nop 10219b43e17SAmy Kwan; LINUX64BE-NEXT: addi r3, r30, 15 10319b43e17SAmy Kwan; LINUX64BE-NEXT: bl puts 10419b43e17SAmy Kwan; LINUX64BE-NEXT: nop 10519b43e17SAmy Kwan; LINUX64BE-NEXT: ld r30, 112(r1) # 8-byte Folded Reload 10619b43e17SAmy Kwan; LINUX64BE-NEXT: addi r1, r1, 128 10719b43e17SAmy Kwan; LINUX64BE-NEXT: ld r0, 16(r1) 10819b43e17SAmy Kwan; LINUX64BE-NEXT: mtlr r0 10919b43e17SAmy Kwan; LINUX64BE-NEXT: blr 11019b43e17SAmy Kwanentry: 11119b43e17SAmy Kwan %call = tail call signext i32 @puts(ptr noundef nonnull dereferenceable(1) @.str) 11219b43e17SAmy Kwan %call1 = tail call signext i32 @puts(ptr noundef nonnull dereferenceable(1) @str) 11319b43e17SAmy Kwan ret void 11419b43e17SAmy Kwan} 115