brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.8 KiB · 1603919 Raw
299 lines · plain
1; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu3 4%class.Point.1 = type { %class.Tensor.0 }5%class.Tensor.0 = type { [3 x double] }6%class.TriaObjectAccessor.57 = type { %class.TriaAccessor.56 }7%class.TriaAccessor.56 = type { i32, i32, ptr }8%class.Triangulation.55 = type { %class.Subscriptor, %"class.std::vector.46", %"class.std::vector", %"class.std::vector.3.8", [255 x ptr], i32, %struct.TriaNumberCache.54 }9%class.Subscriptor = type { ptr, i32, ptr }10%"class.std::type_info.2" = type { ptr, ptr }11%"class.std::vector.46" = type { %"struct.std::_Vector_base.45" }12%"struct.std::_Vector_base.45" = type { %"struct.std::_Vector_base<TriangulationLevelptr, std::allocator<TriangulationLevelptr> >::_Vector_impl.44" }13%"struct.std::_Vector_base<TriangulationLevelptr, std::allocator<TriangulationLevelptr> >::_Vector_impl.44" = type { ptr, ptr, ptr }14%class.TriangulationLevel.43 = type { %class.TriangulationLevel.0.37, %"struct.TriangulationLevel<3>::HexesData.42" }15%class.TriangulationLevel.0.37 = type { %class.TriangulationLevel.1.31, %"struct.TriangulationLevel<2>::QuadsData.36" }16%class.TriangulationLevel.1.31 = type { %class.TriangulationLevel, %"struct.TriangulationLevel<1>::LinesData.30" }17%class.TriangulationLevel = type { %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.7.12", %"class.std::vector.12.15" }18%"class.std::vector.7.12" = type { %"struct.std::_Vector_base" }19%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int> > >::_Vector_impl.10" }20%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int> > >::_Vector_impl.10" = type { ptr, ptr, ptr }21%"struct.std::pair.9" = type opaque22%"class.std::vector.12.15" = type { %"struct.std::_Vector_base.13.14" }23%"struct.std::_Vector_base.13.14" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl.13" }24%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl.13" = type { ptr, ptr, ptr }25%"struct.TriangulationLevel<1>::LinesData.30" = type { %"class.std::vector.17.20", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29" }26%"class.std::vector.17.20" = type { %"struct.std::_Vector_base.18.19" }27%"struct.std::_Vector_base.18.19" = type { %"struct.std::_Vector_base<Line, std::allocator<Line> >::_Vector_impl.18" }28%"struct.std::_Vector_base<Line, std::allocator<Line> >::_Vector_impl.18" = type { ptr, ptr, ptr }29%class.Line.17 = type { [2 x i32] }30%"class.std::vector.22.23" = type { %"struct.std::_Vector_base.23.22" }31%"struct.std::_Vector_base.23.22" = type { %"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl.21" }32%"struct.std::_Vector_base<int, std::allocator<int> >::_Vector_impl.21" = type { ptr, ptr, ptr }33%"class.std::vector.27.26" = type { %"struct.std::_Vector_base.28.25" }34%"struct.std::_Vector_base.28.25" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_Vector_impl.24" }35%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_Vector_impl.24" = type { ptr, ptr, ptr }36%"class.std::vector.32.29" = type { %"struct.std::_Vector_base.33.28" }37%"struct.std::_Vector_base.33.28" = type { %"struct.std::_Vector_base<ptr, std::allocator<ptr> >::_Vector_impl.27" }38%"struct.std::_Vector_base<ptr, std::allocator<ptr> >::_Vector_impl.27" = type { ptr, ptr, ptr }39%"struct.TriangulationLevel<2>::QuadsData.36" = type { %"class.std::vector.37.35", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29" }40%"class.std::vector.37.35" = type { %"struct.std::_Vector_base.38.34" }41%"struct.std::_Vector_base.38.34" = type { %"struct.std::_Vector_base<Quad, std::allocator<Quad> >::_Vector_impl.33" }42%"struct.std::_Vector_base<Quad, std::allocator<Quad> >::_Vector_impl.33" = type { ptr, ptr, ptr }43%class.Quad.32 = type { [4 x i32] }44%"struct.TriangulationLevel<3>::HexesData.42" = type { %"class.std::vector.42.41", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29", %"class.std::vector.3.8" }45%"class.std::vector.42.41" = type { %"struct.std::_Vector_base.43.40" }46%"struct.std::_Vector_base.43.40" = type { %"struct.std::_Vector_base<Hexahedron, std::allocator<Hexahedron> >::_Vector_impl.39" }47%"struct.std::_Vector_base<Hexahedron, std::allocator<Hexahedron> >::_Vector_impl.39" = type { ptr, ptr, ptr }48%class.Hexahedron.38= type { [6 x i32] }49%"class.std::vector" = type { %"struct.std::_Vector_base.48.48" }50%"struct.std::_Vector_base.48.48" = type { %"struct.std::_Vector_base<Point<3>, std::allocator<Point<3> > >::_Vector_impl.47" }51%"struct.std::_Vector_base<Point<3>, std::allocator<Point<3> > >::_Vector_impl.47" = type { ptr, ptr, ptr }52%"class.std::vector.3.8" = type { %"struct.std::_Bvector_base.7" }53%"struct.std::_Bvector_base.7" = type { %"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl.6" }54%"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl.6" = type { %"struct.std::_Bit_iterator.5", %"struct.std::_Bit_iterator.5", ptr }55%"struct.std::_Bit_iterator.5" = type { %"struct.std::_Bit_iterator_base.base.4", [4 x i8] }56%"struct.std::_Bit_iterator_base.base.4" = type <{ ptr, i32 }>57%class.Boundary.50 = type opaque58%struct.TriaNumberCache.54 = type { %struct.TriaNumberCache.52.52, i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" }59%struct.TriaNumberCache.52.52 = type { %struct.TriaNumberCache.53.51, i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" }60%struct.TriaNumberCache.53.51 = type { i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" }61 62define void @_ZNK18TriaObjectAccessorILi3ELi3EE10barycenterEv(ptr noalias nocapture sret(%class.Point.1) %agg.result, ptr %this) #0 align 2 {63entry:64  %0 = load double, ptr null, align 865  %1 = load double, ptr undef, align 866  %call18 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 6)67  %2 = load double, ptr undef, align 868  %call21 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 7)69  %3 = load double, ptr undef, align 870  %call33 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 3)71  %4 = load double, ptr null, align 872  %5 = load double, ptr undef, align 873  %call45 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 7)74  %6 = load double, ptr undef, align 875  %call48 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 0)76  %7 = load double, ptr undef, align 877  %call66 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 6)78  %8 = load double, ptr undef, align 879  %mul334 = fmul double undef, 2.000000e+0080  %mul579 = fmul double %2, %581  %mul597 = fmul double undef, %mul57982  %mul679 = fmul double %2, %883  %mul1307 = fmul double undef, %184  %mul2092 = fmul double undef, %485  %mul2679 = fmul double undef, undef86  %mul2931 = fmul double undef, %387  %mul3094 = fmul double undef, %388  %mul3096 = fmul double %mul3094, %889  %sub3097 = fsub double 0.000000e+00, %mul309690  %add3105 = fadd double undef, %sub309791  %add3113 = fadd double 0.000000e+00, %add310592  %sub3121 = fsub double %add3113, undef93  %sub3129 = fsub double %sub3121, undef94  %add3137 = fadd double undef, %sub312995  %add3145 = fadd double undef, %add313796  %sub3153 = fsub double %add3145, undef97  %sub3162 = fsub double %sub3153, 0.000000e+0098  %add3171 = fadd double undef, %sub316299  %add3180 = fadd double undef, %add3171100  %add3189 = fadd double 0.000000e+00, %add3180101  %mul3197 = fmul double %4, %mul2679102  %sub3198 = fsub double %add3189, %mul3197103  %sub3207 = fsub double %sub3198, 0.000000e+00104  %mul3212 = fmul double %2, undef105  %mul3214 = fmul double %mul3212, undef106  %sub3215 = fsub double %sub3207, %mul3214107  %mul3222 = fmul double %5, 0.000000e+00108  %sub3223 = fsub double %sub3215, %mul3222109  %mul3228 = fmul double %2, undef110  %mul3230 = fmul double %3, %mul3228111  %add3231 = fadd double %mul3230, %sub3223112  %mul3236 = fmul double undef, undef113  %mul3238 = fmul double %mul3236, %8114  %add3239 = fadd double %mul3238, %add3231115  %mul3244 = fmul double %mul1307, %3116  %mul3246 = fmul double %mul3244, %7117  %sub3247 = fsub double %add3239, %mul3246118  %mul3252 = fmul double undef, undef119  %mul3254 = fmul double %mul3252, %7120  %add3255 = fadd double %mul3254, %sub3247121  %sub3263 = fsub double %add3255, undef122  %add3271 = fadd double 0.000000e+00, %sub3263123  %sub3279 = fsub double %add3271, undef124  %sub3287 = fsub double %sub3279, undef125  %mul3292 = fmul double %mul1307, %5126  %mul3294 = fmul double %mul3292, undef127  %add3295 = fadd double %mul3294, %sub3287128  %add3303 = fadd double undef, %add3295129  %add3311 = fadd double 0.000000e+00, %add3303130  %mul3318 = fmul double undef, %7131  %sub3319 = fsub double %add3311, %mul3318132  %mul3326 = fmul double %4, %mul3228133  %sub3327 = fsub double %sub3319, %mul3326134  %mul3334 = fmul double undef, %8135  %sub3335 = fsub double %sub3327, %mul3334136  %add3343 = fadd double undef, %sub3335137  %mul3350 = fmul double %mul3212, %7138  %add3351 = fadd double %mul3350, %add3343139  %mul3358 = fmul double %mul2092, undef140  %sub3359 = fsub double %add3351, %mul3358141  %mul3362 = fmul double undef, %1142  %mul3366 = fmul double 0.000000e+00, %8143  %add3367 = fadd double %mul3366, %sub3359144  %mul3372 = fmul double %mul3362, %5145  %sub3375 = fsub double %add3367, undef146  %add3383 = fadd double undef, %sub3375147  %mul3389 = fmul double %2, 0.000000e+00148  %mul3391 = fmul double %4, %mul3389149  %sub3392 = fsub double %add3383, %mul3391150  %mul3396 = fmul double undef, 0.000000e+00151  %mul3400 = fmul double undef, %7152  %sub3401 = fsub double %sub3392, %mul3400153  %mul3407 = fmul double %mul3396, %4154  %mul3409 = fmul double %mul3407, %8155  %add3410 = fadd double %mul3409, %sub3401156  %add3419 = fadd double undef, %add3410157  %mul3423 = fmul double undef, %mul334158  %add3428 = fadd double undef, %add3419159  %add3437 = fadd double undef, %add3428160  %mul3443 = fmul double %mul3423, %3161  %mul3445 = fmul double %mul3443, %8162  %sub3446 = fsub double %add3437, %mul3445163  %mul3453 = fmul double %mul3372, undef164  %add3454 = fadd double %mul3453, %sub3446165  %add3462 = fadd double 0.000000e+00, %add3454166  %mul3467 = fmul double %mul3362, %3167  %mul3469 = fmul double %mul3467, %8168  %sub3470 = fsub double %add3462, %mul3469169  %add3478 = fadd double 0.000000e+00, %sub3470170  %sub3486 = fsub double %add3478, undef171  %mul3490 = fmul double %mul334, 0.000000e+00172  %mul3492 = fmul double %2, %mul3490173  %mul3494 = fmul double %mul3492, undef174  %sub3495 = fsub double %sub3486, %mul3494175  %sub3503 = fsub double %sub3495, undef176  %sub3512 = fsub double %sub3503, undef177  %add3520 = fadd double undef, %sub3512178  %sub3528 = fsub double %add3520, undef179  %add3537 = fadd double undef, %sub3528180  %add3545 = fadd double 0.000000e+00, %add3537181  %sub3553 = fsub double %add3545, undef182  %add3561 = fadd double undef, %sub3553183  %sub3569 = fsub double %add3561, undef184  %mul3574 = fmul double undef, undef185  %mul3576 = fmul double %mul3574, %7186  %add3577 = fadd double %mul3576, %sub3569187  %sub3585 = fsub double %add3577, undef188  %mul3592 = fmul double %4, undef189  %sub3593 = fsub double %sub3585, %mul3592190  %mul3598 = fmul double %2, undef191  %mul3600 = fmul double %mul3598, %7192  %add3601 = fadd double %mul3600, %sub3593193  %mul3608 = fmul double %mul3598, undef194  %sub3609 = fsub double %add3601, %mul3608195  %sub3618 = fsub double %sub3609, undef196  %add3627 = fadd double undef, %sub3618197  %add3635 = fadd double undef, %add3627198  %mul3638 = fmul double undef, %2199  %mul3640 = fmul double %mul3638, %5200  %mul3642 = fmul double %mul3640, %7201  %sub3643 = fsub double %add3635, %mul3642202  %mul3648 = fmul double %1, undef203  %mul3650 = fmul double %mul3648, %8204  %sub3651 = fsub double %sub3643, %mul3650205  %mul3656 = fmul double %mul3638, %4206  %mul3658 = fmul double %mul3656, %8207  %add3659 = fadd double %mul3658, %sub3651208  %mul3666 = fmul double %5, 0.000000e+00209  %add3667 = fadd double %mul3666, %add3659210  %sub3675 = fsub double %add3667, undef211  %mul3680 = fmul double %mul3638, %3212  %mul3682 = fmul double %mul3680, %8213  %sub3683 = fsub double %sub3675, %mul3682214  %add3692 = fadd double 0.000000e+00, %sub3683215  %mul3696 = fmul double undef, undef216  %mul3698 = fmul double %mul3696, %4217  %mul3700 = fmul double %mul3698, %8218  %add3701 = fadd double %mul3700, %add3692219  %sub3710 = fsub double %add3701, undef220  %mul3716 = fmul double undef, %3221  %mul3718 = fmul double %mul3716, %8222  %sub3719 = fsub double %sub3710, %mul3718223  %add3727 = fadd double undef, %sub3719224  %mul3734 = fmul double %mul3574, %8225  %add3735 = fadd double %mul3734, %add3727226  %sub3743 = fsub double %add3735, 0.000000e+00227  %add3751 = fadd double 0.000000e+00, %sub3743228  %mul3758 = fmul double %6, 0.000000e+00229  %sub3759 = fsub double %add3751, %mul3758230  %mul3764 = fmul double undef, %mul2931231  %mul3766 = fmul double %mul3764, undef232  %sub3767 = fsub double %sub3759, %mul3766233  %add3775 = fadd double 0.000000e+00, %sub3767234  %add3783 = fadd double undef, %add3775235  %sub3791 = fsub double %add3783, 0.000000e+00236  %add3799 = fadd double undef, %sub3791237  %sub3807 = fsub double %add3799, undef238  %mul3814 = fmul double 0.000000e+00, undef239  %add3815 = fadd double %mul3814, %sub3807240  %mul3822 = fmul double %mul597, undef241  %sub3823 = fsub double %add3815, %mul3822242  %add3831 = fadd double undef, %sub3823243  %mul3836 = fmul double undef, %mul679244  %mul3838 = fmul double %6, %mul3836245  %sub3839 = fsub double %add3831, %mul3838246  %add3847 = fadd double undef, %sub3839247  %add3855 = fadd double undef, %add3847248  %mul3858 = fmul double undef, %8249  %mul3860 = fmul double undef, %mul3858250  %mul3862 = fmul double %6, %mul3860251  %sub3863 = fsub double %add3855, %mul3862252  %add3872 = fadd double undef, %sub3863253  %sub3880 = fsub double %add3872, undef254  %sub3889 = fsub double %sub3880, undef255  %sub3898 = fsub double %sub3889, undef256  %add3907 = fadd double undef, %sub3898257  %sub3915 = fsub double %add3907, 0.000000e+00258  %add3923 = fadd double undef, %sub3915259  %mul3930 = fmul double %3, undef260  %add3931 = fadd double %mul3930, %add3923261  %add3940 = fadd double undef, %add3931262  %sub3949 = fsub double %add3940, undef263  %mul3952 = fmul double %2, %3264  %sub3957 = fsub double %sub3949, undef265  %sub3966 = fsub double %sub3957, undef266  %add3975 = fadd double undef, %sub3966267  %add3983 = fadd double undef, %add3975268  %sub3992 = fsub double %add3983, undef269  %mul3997 = fmul double undef, %mul3952270  %mul3999 = fmul double %mul3997, %8271  %add4000 = fadd double %mul3999, %sub3992272  %sub4008 = fsub double %add4000, undef273  %add4017 = fadd double undef, %sub4008274  %add4026 = fadd double 0.000000e+00, %add4017275  %mul4034 = fmul double %6, undef276  %sub4035 = fsub double %add4026, %mul4034277  %add4043 = fadd double undef, %sub4035278  %sub4051 = fsub double %add4043, 0.000000e+00279  %mul4916 = fmul double 0.000000e+00, %sub4051280  %mul4917 = fmul double %mul4916, 0x3FC5555555555555281  %mul7317 = fmul double 0.000000e+00, %3282  %mul7670 = fmul double %0, %mul7317283  %mul8882 = fmul double %0, 0.000000e+00284  %mul8884 = fmul double undef, %mul8882285  %sub8885 = fsub double 0.000000e+00, %mul8884286  %mul8892 = fmul double %mul7670, undef287  %add8893 = fadd double %mul8892, %sub8885288  %mul8900 = fmul double undef, undef289  %add8901 = fadd double %mul8900, %add8893290  %mul9767 = fmul double 0.000000e+00, %add8901291  %mul9768 = fmul double %mul9767, 0x3FC5555555555555292  store double %mul4917, ptr undef, align 8293  store double %mul9768, ptr undef, align 8294  ret void295}296 297declare dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr, i32 zeroext) #0298 299