36 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2; REQUIRES: asserts3 4; This used to crash. Check for some sane output.5; CHECK: call printf6 7target triple = "hexagon"8 9@g0 = external local_unnamed_addr global [4 x i64], align 810@g1 = external hidden unnamed_addr constant [29 x i8], align 111@g2 = external hidden unnamed_addr constant [29 x i8], align 112 13define void @fred() local_unnamed_addr #0 {14b0:15 %v1 = load i64, ptr @g0, align 816 %v2 = trunc i64 %v1 to i3217 %v3 = lshr i64 %v1, 1618 %v4 = trunc i64 %v3 to i3219 %v5 = and i32 %v4, 25520 %v6 = add nuw nsw i32 0, %v521 %v7 = add nuw nsw i32 %v6, 022 %v8 = zext i32 %v7 to i6423 %v9 = and i32 %v2, 6553524 %v10 = and i32 %v4, 6553525 %v11 = add nuw nsw i32 %v10, %v926 %v12 = zext i32 %v11 to i6427 tail call void (ptr, ...) @printf(ptr @g1, i64 %v8) #028 tail call void (ptr, ...) @printf(ptr @g2, i64 %v12) #029 ret void30}31 32; Function Attrs: nounwind33declare void @printf(ptr nocapture readonly, ...) local_unnamed_addr #034 35attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="-hvx,-long-calls" }36