brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.4 KiB · da62b07 Raw
150 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s3 4define void @PR55648() #0 {5; CHECK-LABEL: PR55648:6; CHECK:       # %bb.0: # %bb7; CHECK-NEXT:    .p2align 48; CHECK-NEXT:  .LBB0_1: # %bb389; CHECK-NEXT:    # =>This Inner Loop Header: Depth=110; CHECK-NEXT:    jmp .LBB0_111bb:12  %tmp = load <4 x i16>, ptr poison, align 1613  %tmp1 = icmp ne <4 x i16> %tmp, <i16 1, i16 1, i16 1, i16 1>14  %tmp2 = load <4 x i16>, ptr poison, align 815  %tmp3 = icmp ne <4 x i16> %tmp2, <i16 1, i16 1, i16 1, i16 1>16  %tmp4 = load <4 x i16>, ptr poison, align 1617  %tmp5 = icmp ne <4 x i16> %tmp4, <i16 1, i16 1, i16 1, i16 1>18  %tmp6 = load <4 x i16>, ptr poison, align 819  %tmp7 = icmp ne <4 x i16> %tmp6, <i16 1, i16 1, i16 1, i16 1>20  %tmp8 = load <4 x i16>, ptr poison, align 1621  %tmp9 = icmp ne <4 x i16> %tmp8, <i16 1, i16 1, i16 1, i16 1>22  %tmp10 = load <4 x i16>, ptr poison, align 823  %tmp11 = icmp ne <4 x i16> %tmp10, <i16 1, i16 1, i16 1, i16 1>24  %tmp12 = load <4 x i16>, ptr poison, align 1625  %tmp13 = icmp ne <4 x i16> %tmp12, <i16 1, i16 1, i16 1, i16 1>26  %tmp14 = load <4 x i16>, ptr poison, align 827  %tmp15 = icmp ne <4 x i16> %tmp14, <i16 1, i16 1, i16 1, i16 1>28  %tmp16 = load <4 x i16>, ptr poison, align 1629  %tmp17 = icmp ne <4 x i16> %tmp16, <i16 1, i16 1, i16 1, i16 1>30  %tmp18 = load <4 x i16>, ptr poison, align 831  %tmp19 = icmp ne <4 x i16> %tmp18, <i16 1, i16 1, i16 1, i16 1>32  %tmp20 = load <4 x i16>, ptr poison, align 1633  %tmp21 = icmp ne <4 x i16> %tmp20, <i16 1, i16 1, i16 1, i16 1>34  %tmp22 = load <4 x i16>, ptr poison, align 835  %tmp23 = icmp ne <4 x i16> %tmp22, <i16 1, i16 1, i16 1, i16 1>36  %tmp24 = load <4 x i16>, ptr poison, align 1637  %tmp25 = icmp ne <4 x i16> %tmp24, <i16 1, i16 1, i16 1, i16 1>38  %tmp26 = load <4 x i16>, ptr poison, align 839  %tmp27 = icmp ne <4 x i16> %tmp26, <i16 1, i16 1, i16 1, i16 1>40  %tmp28 = load <4 x i16>, ptr poison, align 1641  %tmp29 = icmp ne <4 x i16> %tmp28, <i16 1, i16 1, i16 1, i16 1>42  %tmp30 = load <4 x i16>, ptr poison, align 843  %tmp31 = icmp ne <4 x i16> %tmp30, <i16 1, i16 1, i16 1, i16 1>44  %tmp32 = load <4 x i16>, ptr poison, align 1645  %tmp33 = icmp ne <4 x i16> %tmp32, <i16 1, i16 1, i16 1, i16 1>46  %tmp34 = load <4 x i16>, ptr poison, align 847  %tmp35 = icmp ne <4 x i16> %tmp34, <i16 1, i16 1, i16 1, i16 1>48  %tmp36 = load <4 x i16>, ptr poison, align 1649  %tmp37 = icmp ne <4 x i16> %tmp36, <i16 1, i16 1, i16 1, i16 1>50  br label %bb3851 52bb38:                                             ; preds = %bb38, %bb53  %tmp39 = phi i64 [ undef, %bb ], [ %tmp119, %bb38 ]54  %tmp40 = insertelement <4 x i64> poison, i64 %tmp39, i64 055  %tmp41 = shufflevector <4 x i64> %tmp40, <4 x i64> poison, <4 x i32> zeroinitializer56  %tmp42 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp41, <4 x i64> undef)57  %tmp43 = select <4 x i1> undef, <4 x i64> %tmp42, <4 x i64> %tmp4158  %tmp44 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp1, <4 x i32> poison)59  %tmp45 = sext <4 x i32> %tmp44 to <4 x i64>60  %tmp46 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> undef, <4 x i64> %tmp45)61  %tmp47 = select <4 x i1> %tmp1, <4 x i64> %tmp46, <4 x i64> undef62  %tmp48 = sext <4 x i32> undef to <4 x i64>63  %tmp49 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp47, <4 x i64> %tmp48)64  %tmp50 = select <4 x i1> %tmp3, <4 x i64> %tmp49, <4 x i64> %tmp4765  %tmp51 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp5, <4 x i32> poison)66  %tmp52 = sext <4 x i32> %tmp51 to <4 x i64>67  %tmp53 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp50, <4 x i64> %tmp52)68  %tmp54 = select <4 x i1> %tmp5, <4 x i64> %tmp53, <4 x i64> %tmp5069  %tmp55 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp7, <4 x i32> poison)70  %tmp56 = sext <4 x i32> %tmp55 to <4 x i64>71  %tmp57 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp54, <4 x i64> %tmp56)72  %tmp58 = select <4 x i1> %tmp7, <4 x i64> %tmp57, <4 x i64> %tmp5473  %tmp59 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp9, <4 x i32> poison)74  %tmp60 = sext <4 x i32> %tmp59 to <4 x i64>75  %tmp61 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp58, <4 x i64> %tmp60)76  %tmp62 = select <4 x i1> %tmp9, <4 x i64> %tmp61, <4 x i64> %tmp5877  %tmp63 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp11, <4 x i32> poison)78  %tmp64 = sext <4 x i32> %tmp63 to <4 x i64>79  %tmp65 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp62, <4 x i64> %tmp64)80  %tmp66 = select <4 x i1> %tmp11, <4 x i64> %tmp65, <4 x i64> %tmp6281  %tmp67 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp13, <4 x i32> poison)82  %tmp68 = sext <4 x i32> %tmp67 to <4 x i64>83  %tmp69 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp66, <4 x i64> %tmp68)84  %tmp70 = select <4 x i1> %tmp13, <4 x i64> %tmp69, <4 x i64> %tmp6685  %tmp71 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp15, <4 x i32> poison)86  %tmp72 = sext <4 x i32> %tmp71 to <4 x i64>87  %tmp73 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp70, <4 x i64> %tmp72)88  %tmp74 = select <4 x i1> %tmp15, <4 x i64> %tmp73, <4 x i64> %tmp7089  %tmp75 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp17, <4 x i32> poison)90  %tmp76 = sext <4 x i32> %tmp75 to <4 x i64>91  %tmp77 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp74, <4 x i64> %tmp76)92  %tmp78 = select <4 x i1> %tmp17, <4 x i64> %tmp77, <4 x i64> %tmp7493  %tmp79 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp19, <4 x i32> poison)94  %tmp80 = sext <4 x i32> %tmp79 to <4 x i64>95  %tmp81 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp78, <4 x i64> %tmp80)96  %tmp82 = select <4 x i1> %tmp19, <4 x i64> %tmp81, <4 x i64> %tmp7897  %tmp83 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp21, <4 x i32> poison)98  %tmp84 = sext <4 x i32> %tmp83 to <4 x i64>99  %tmp85 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp82, <4 x i64> %tmp84)100  %tmp86 = select <4 x i1> %tmp21, <4 x i64> %tmp85, <4 x i64> %tmp82101  %tmp87 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp23, <4 x i32> poison)102  %tmp88 = sext <4 x i32> %tmp87 to <4 x i64>103  %tmp89 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp86, <4 x i64> %tmp88)104  %tmp90 = select <4 x i1> %tmp23, <4 x i64> %tmp89, <4 x i64> %tmp86105  %tmp91 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp25, <4 x i32> poison)106  %tmp92 = sext <4 x i32> %tmp91 to <4 x i64>107  %tmp93 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp90, <4 x i64> %tmp92)108  %tmp94 = select <4 x i1> %tmp25, <4 x i64> %tmp93, <4 x i64> %tmp90109  %tmp95 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp27, <4 x i32> poison)110  %tmp96 = sext <4 x i32> %tmp95 to <4 x i64>111  %tmp97 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp94, <4 x i64> %tmp96)112  %tmp98 = select <4 x i1> %tmp27, <4 x i64> %tmp97, <4 x i64> %tmp94113  %tmp99 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp29, <4 x i32> poison)114  %tmp100 = sext <4 x i32> %tmp99 to <4 x i64>115  %tmp101 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp98, <4 x i64> %tmp100)116  %tmp102 = select <4 x i1> %tmp29, <4 x i64> %tmp101, <4 x i64> %tmp98117  %tmp103 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp31, <4 x i32> poison)118  %tmp104 = sext <4 x i32> %tmp103 to <4 x i64>119  %tmp105 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp102, <4 x i64> %tmp104)120  %tmp106 = select <4 x i1> %tmp31, <4 x i64> %tmp105, <4 x i64> %tmp102121  %tmp107 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp33, <4 x i32> poison)122  %tmp108 = sext <4 x i32> %tmp107 to <4 x i64>123  %tmp109 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp106, <4 x i64> %tmp108)124  %tmp110 = select <4 x i1> %tmp33, <4 x i64> %tmp109, <4 x i64> %tmp106125  %tmp111 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp35, <4 x i32> poison)126  %tmp112 = sext <4 x i32> %tmp111 to <4 x i64>127  %tmp113 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp110, <4 x i64> %tmp112)128  %tmp114 = select <4 x i1> %tmp35, <4 x i64> %tmp113, <4 x i64> %tmp110129  %tmp115 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> %tmp37, <4 x i32> poison)130  %tmp116 = sext <4 x i32> %tmp115 to <4 x i64>131  %tmp117 = call <4 x i64> @llvm.smin.v4i64(<4 x i64> %tmp114, <4 x i64> %tmp116)132  %tmp118 = select <4 x i1> %tmp37, <4 x i64> %tmp117, <4 x i64> %tmp114133  %tmp119 = call i64 @llvm.vector.reduce.smin.v4i64(<4 x i64> %tmp118)134  br label %bb38135}136 137; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn138declare i64 @llvm.smin.i64(i64, i64) #1139 140; Function Attrs: argmemonly nocallback nofree nosync nounwind readonly willreturn141declare <4 x i32> @llvm.masked.load.v4i32.p0(ptr, i32 immarg, <4 x i1>, <4 x i32>) #2142 143; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn144declare <4 x i64> @llvm.smin.v4i64(<4 x i64>, <4 x i64>) #1145 146; Function Attrs: nocallback nofree nosync nounwind readnone willreturn147declare i64 @llvm.vector.reduce.smin.v4i64(<4 x i64>) #3148 149attributes #0 = { nofree norecurse nosync nounwind uwtable "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="btver2" "target-features"="+aes,+avx,+bmi,+crc32,+cx16,+cx8,+f16c,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+prfchw,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+x87,+xsave,+xsaveopt" }150