72 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3target triple = "hexagon"4 5; CHECK-LABEL: dc00:6; CHECK: dcfetch7define void @dc00(ptr nocapture readonly %p) local_unnamed_addr #0 {8 tail call void @llvm.hexagon.prefetch(ptr %p)9 ret void10}11 12; CHECK-LABEL: dc01:13; CHECK: dccleana14define void @dc01(ptr nocapture readonly %p) local_unnamed_addr #0 {15entry:16 tail call void @llvm.hexagon.Y2.dccleana(ptr %p)17 ret void18}19 20; CHECK-LABEL: dc02:21; CHECK: dccleaninva22define void @dc02(ptr nocapture readonly %p) local_unnamed_addr #0 {23entry:24 tail call void @llvm.hexagon.Y2.dccleaninva(ptr %p)25 ret void26}27 28; CHECK-LABEL: dc03:29; CHECK: dcinva30define void @dc03(ptr nocapture readonly %p) local_unnamed_addr #0 {31entry:32 tail call void @llvm.hexagon.Y2.dcinva(ptr %p)33 ret void34}35 36; CHECK-LABEL: dc04:37; CHECK: dczeroa38define void @dc04(ptr nocapture %p) local_unnamed_addr #0 {39entry:40 tail call void @llvm.hexagon.Y2.dczeroa(ptr %p)41 ret void42}43 44; CHECK-LABEL: dc05:45; CHECK: l2fetch(r{{[0-9]+}},r{{[0-9]+}})46define void @dc05(ptr nocapture readonly %p, i32 %q) local_unnamed_addr #0 {47entry:48 tail call void @llvm.hexagon.Y4.l2fetch(ptr %p, i32 %q)49 ret void50}51 52; CHECK-LABEL: dc06:53; CHECK: l2fetch(r{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})54define void @dc06(ptr nocapture readonly %p, i64 %q) local_unnamed_addr #0 {55entry:56 tail call void @llvm.hexagon.Y5.l2fetch(ptr %p, i64 %q)57 ret void58}59 60declare void @llvm.hexagon.prefetch(ptr nocapture) #161declare void @llvm.hexagon.Y2.dccleana(ptr nocapture readonly) #262declare void @llvm.hexagon.Y2.dccleaninva(ptr nocapture readonly) #263declare void @llvm.hexagon.Y2.dcinva(ptr nocapture readonly) #264declare void @llvm.hexagon.Y2.dczeroa(ptr nocapture) #365declare void @llvm.hexagon.Y4.l2fetch(ptr nocapture readonly, i32) #266declare void @llvm.hexagon.Y5.l2fetch(ptr nocapture readonly, i64) #267 68attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="-hvx,-long-calls" }69attributes #1 = { inaccessiblemem_or_argmemonly nounwind }70attributes #2 = { nounwind }71attributes #3 = { argmemonly nounwind writeonly }72