brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 78ea32c Raw
58 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; Check that the vsplat instruction is generated4; CHECK: r[[V:[0-9]+]] = #167525; CHECK: vsplat(r[[V]])6 7target 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"8target triple = "hexagon"9; Function Attrs: nofree norecurse nounwind writeonly10define dso_local i32 @foo(ptr nocapture %0, i32 %1) local_unnamed_addr #0 {11  %3 = icmp sgt i32 %1, 012  br i1 %3, label %4, label %2213 144:                                                ; preds = %215  %5 = icmp ult i32 %1, 12816  br i1 %5, label %6, label %917 186:                                                ; preds = %20, %419  %7 = phi ptr [ %0, %4 ], [ %11, %20 ]20  %8 = phi i32 [ 0, %4 ], [ %10, %20 ]21  br label %2322 239:                                                ; preds = %424  %10 = and i32 %1, -12825  %11 = getelementptr half, ptr %0, i32 %1026  br label %1227 2812:                                               ; preds = %12, %929  %13 = phi i32 [ 0, %9 ], [ %18, %12 ]30  %14 = getelementptr half, ptr %0, i32 %1331  %15 = bitcast ptr %14 to ptr32  store <64 x half> <half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170>, ptr %15, align 233  %16 = getelementptr half, ptr %14, i32 6434  %17 = bitcast ptr %16 to ptr35  store <64 x half> <half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170, half 0xH4170>, ptr %17, align 236  %18 = add i32 %13, 12837  %19 = icmp eq i32 %18, %1038  br i1 %19, label %20, label %1239 4020:                                               ; preds = %1241  %21 = icmp eq i32 %10, %142  br i1 %21, label %22, label %643 4422:                                               ; preds = %23, %20, %245  ret i32 046 4723:                                               ; preds = %23, %648  %24 = phi ptr [ %28, %23 ], [ %7, %6 ]49  %25 = phi i32 [ %26, %23 ], [ %8, %6 ]50  store half 0xH4170, ptr %24, align 251  %26 = add nuw nsw i32 %25, 152  %27 = icmp eq i32 %26, %153  %28 = getelementptr half, ptr %24, i32 154  br i1 %27, label %22, label %2355}56 57attributes #0 = { nofree norecurse nounwind writeonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv69" "target-features"="+hvx-length128b,+hvxv69,+v69,-long-calls" "unsafe-fp-math"="false" "use-soft-float"="false" }58