brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 57ca106 Raw
36 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; This used to fail:4; LLVM ERROR: Cannot select: t54: v4i8 = select t50, t53, t525 6; CHECK: jumpr r317 8target triple = "hexagon"9 10@g0 = external dso_local unnamed_addr constant [41 x i8], align 111define dso_local void @f0() local_unnamed_addr #0 {12b0:13  %v0 = load <16 x i32>, ptr undef, align 1614  %v1 = icmp eq <16 x i32> %v0, zeroinitializer15  %v2 = or <16 x i1> %v1, zeroinitializer16  %v3 = or <16 x i1> %v2, zeroinitializer17  %v4 = or <16 x i1> %v3, zeroinitializer18  %v5 = shufflevector <16 x i1> %v4, <16 x i1> undef, <16 x i32> <i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>19  %v6 = or <16 x i1> %v4, %v520  %v7 = extractelement <16 x i1> %v6, i32 021  %v8 = or i1 %v7, undef22  %v9 = or i1 %v8, undef23  br i1 %v9, label %b2, label %b124 25b1:                                               ; preds = %b026  call void (ptr, ...) @f1(ptr @g0)27  unreachable28 29b2:                                               ; preds = %b030  ret void31}32declare dso_local void @f1(ptr, ...) local_unnamed_addr #133 34attributes #0 = { "target-cpu"="hexagonv66" "target-features"="+hvx-length64b,+hvxv66,+v66,-long-calls" }35attributes #1 = { "use-soft-float"="false" }36