xref: /llvm-project/llvm/test/CodeGen/PowerPC/merge-st-chain-op.ll (revision 427fb35192f1f7bb694a5910b05abc5925a798b2)
1; RUN: llc -verify-machineinstrs < %s | FileCheck %s
2target datalayout = "E-m:e-i64:64-n32:64"
3target triple = "powerpc64-unknown-linux-gnu"
4
5@_ZNSs4_Rep20_S_empty_rep_storageE = external global [0 x i64], align 8
6
7; Function Attrs: nounwind
8define void @_ZN5clang7tooling15RefactoringTool10runAndSaveEPNS0_21FrontendActionFactoryE() #0 align 2 {
9entry:
10  br i1 undef, label %_ZN4llvm18IntrusiveRefCntPtrIN5clang13DiagnosticIDsEEC2EPS2_.exit, label %return
11
12; CHECK: @_ZN5clang7tooling15RefactoringTool10runAndSaveEPNS0_21FrontendActionFactoryE
13
14_ZN4llvm18IntrusiveRefCntPtrIN5clang13DiagnosticIDsEEC2EPS2_.exit: ; preds = %entry
15  %call2 = call noalias ptr @_Znwm() #3
16  store <2 x ptr> <ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3), ptr getelementptr inbounds ([0 x i64], ptr @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3)>, ptr undef, align 8
17  %IgnoreWarnings.i = getelementptr inbounds i8, ptr %call2, i64 4
18  call void @llvm.memset.p0.i64(ptr align 8 null, i8 0, i64 48, i1 false) #4
19  store i32 251658240, ptr %IgnoreWarnings.i, align 4
20  store i256 37662610426935100959726589394453639584271499769928088551424, ptr null, align 8
21  store i32 1, ptr %call2, align 4
22  unreachable
23
24return:                                           ; preds = %entry
25  ret void
26}
27
28; Function Attrs: nobuiltin
29declare noalias ptr @_Znwm() #1
30
31; Function Attrs: nounwind argmemonly
32declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i1) #2
33
34attributes #0 = { nounwind "target-cpu"="pwr7" }
35attributes #1 = { nobuiltin "target-cpu"="pwr7" }
36attributes #2 = { nounwind argmemonly }
37attributes #3 = { builtin nounwind }
38attributes #4 = { nounwind }
39
40