brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 422ca64 Raw
73 lines · plain
1; RUN: llc -mtriple=hexagon -O3 < %s | FileCheck %s2 3target triple = "hexagon"4 5; CHECK-LABEL: f0:6; CHECK: p{{[0-9]+}} = sfcmp.ge(r{{[0-9]+}},r{{[0-9]+}})7; CHECK: p{{[0-9]+}} = sfcmp.gt(r{{[0-9]+}},r{{[0-9]+}})8define i32 @f0(ptr nocapture %a0) #0 {9b0:10  %v0 = load float, ptr %a0, align 4, !tbaa !011  %v1 = fcmp olt float %v0, 6.000000e+0112  br i1 %v1, label %b1, label %b213 14b1:                                               ; preds = %b015  %v2 = getelementptr inbounds float, ptr %a0, i32 116  %v3 = load float, ptr %v2, align 4, !tbaa !017  %v4 = fcmp ogt float %v3, 0x3FECCCCCC000000018  br label %b219 20b2:                                               ; preds = %b1, %b021  %v5 = phi i1 [ false, %b0 ], [ %v4, %b1 ]22  %v6 = zext i1 %v5 to i3223  ret i32 %v624}25 26; CHECK-LABEL: f1:27; CHECK: p{{[0-9]+}} = sfcmp.eq(r{{[0-9]+}},r{{[0-9]+}})28define i32 @f1(ptr nocapture %a0) #0 {29b0:30  %v0 = load float, ptr %a0, align 4, !tbaa !031  %v1 = fcmp oeq float %v0, 6.000000e+0132  %v2 = zext i1 %v1 to i3233  ret i32 %v234}35 36; CHECK-LABEL: f2:37; CHECK: p{{[0-9]+}} = dfcmp.ge(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})38; CHECK: p{{[0-9]+}} = dfcmp.gt(r{{[0-9]+}}:{{[0-9]+}},r{{[0-9]+}}:{{[0-9]+}})39define i32 @f2(ptr nocapture %a0) #0 {40b0:41  %v0 = load double, ptr %a0, align 8, !tbaa !442  %v1 = fcmp olt double %v0, 6.000000e+0143  br i1 %v1, label %b1, label %b244 45b1:                                               ; preds = %b046  %v2 = getelementptr inbounds double, ptr %a0, i32 147  %v3 = load double, ptr %v2, align 8, !tbaa !448  %v4 = fcmp ogt double %v3, 0x3FECCCCCC000000049  br label %b250 51b2:                                               ; preds = %b1, %b052  %v5 = phi i1 [ false, %b0 ], [ %v4, %b1 ]53  %v6 = zext i1 %v5 to i3254  ret i32 %v655}56 57define i32 @f3(ptr nocapture %a0) #0 {58b0:59  %v0 = load double, ptr %a0, align 8, !tbaa !460  %v1 = fcmp oeq double %v0, 6.000000e+0161  %v2 = zext i1 %v1 to i3262  ret i32 %v263}64 65attributes #0 = { nounwind readonly "target-cpu"="hexagonv55" "no-nans-fp-math"="true" }66 67!0 = !{!1, !1, i64 0}68!1 = !{!"float", !2}69!2 = !{!"omnipotent char", !3}70!3 = !{!"Simple C/C++ TBAA"}71!4 = !{!5, !5, i64 0}72!5 = !{!"double", !2}73