brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 2ba3e22 Raw
44 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; Check that this doesn't crash.4; CHECK: func_end5 6target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"7target triple = "hexagon"8 9define void @f0(ptr %a0, ptr %a1, ptr %a2) unnamed_addr #0 {10b0:11  %v0 = load i8, ptr %a0, align 112  %v1 = load i32, ptr %a1, align 413  %v2 = load i32, ptr %a2, align 414  %v3 = zext i8 %v0 to i3215  %v4 = getelementptr inbounds i8, ptr null, i32 %v116  %v5 = add nsw i32 %v2, 217  %v8 = insertelement <16 x i32> poison, i32 %v3, i64 018  %v9 = shufflevector <16 x i32> %v8, <16 x i32> poison, <16 x i32> zeroinitializer19  br label %b120 21b1:                                               ; preds = %b3, %b222  %v10 = phi ptr [ %v4, %b0 ], [ %v19, %b1 ]23  %v11 = add nsw <16 x i32> zeroinitializer, <i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128, i32 -128>24  %v12 = mul nsw <16 x i32> %v11, %v925  %v13 = add nsw <16 x i32> %v12, <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>26  %v14 = ashr <16 x i32> %v13, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>27  %v15 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %v14, <16 x i32> <i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127, i32 127>)28  %v16 = add nsw <16 x i32> %v15, <i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128, i32 128>29  %v17 = select <16 x i1> zeroinitializer, <16 x i32> zeroinitializer, <16 x i32> %v1630  %v18 = trunc <16 x i32> %v17 to <16 x i8>31  %v19 = getelementptr inbounds i8, ptr %v10, i32 132  store <16 x i8> %v18, ptr %v19, align 133  br label %b1, !llvm.loop !034}35 36; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)37declare <16 x i32> @llvm.smin.v16i32(<16 x i32>, <16 x i32>) #138 39attributes #0 = { "target-features"="+hvx-length64b,+hvxv66,+v66,-long-calls,-small-data" }40attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }41 42!0 = distinct !{!0, !1}43!1 = !{!"llvm.loop.mustprogress"}44