Package evaluation of SIMD on Julia 1.10.8 (92f03a4775*) started at 2025-02-25T04:36:11.605 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 5.78s ################################################################################ # Installation # Installing SIMD... Resolving package versions... Updating `~/.julia/environments/v1.10/Project.toml` [fdea26ae] + SIMD v3.7.1 Updating `~/.julia/environments/v1.10/Manifest.toml` [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.4.3 [fdea26ae] + SIMD v3.7.1 [ade2ca70] + Dates [de0858da] + Printf [fa267f1f] + TOML v1.0.3 [4ec0a83e] + Unicode Installation completed after 4.59s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 8.84s ################################################################################ # Testing # Testing SIMD Status `/tmp/jl_74R8Ad/Project.toml` [fdea26ae] SIMD v3.7.1 [b77e0a4c] InteractiveUtils [8dfed614] Test Status `/tmp/jl_74R8Ad/Manifest.toml` [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.4.3 [fdea26ae] SIMD v3.7.1 [2a0f44e3] Base64 [ade2ca70] Dates [b77e0a4c] InteractiveUtils [56ddb016] Logging [d6f4376e] Markdown [de0858da] Printf [9a3f8284] Random [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization [fa267f1f] TOML v1.0.3 [8dfed614] Test [4ec0a83e] Unicode Testing Running tests... Test Summary: | Pass Total Time Type properties | 10 10 1.5s Test Summary: | Pass Total Time Errors | 2 2 0.3s Test Summary: | Pass Total Time Type conversion | 8 8 0.9s Test Summary: | Pass Total Time Conversion and reinterpretation | 4 4 0.5s Test Summary: | Pass Total Time Element-wise access | 22 22 0.5s Test Summary: | Pass Total Time Integer arithmetic functions | 116 116 4.2s Test Summary: | Pass Total Time bswap | 6 6 0.7s Test Summary: | Pass Total Time saturation | 4 4 0.3s Test Summary: | Pass Total Time overflow arithmetic | 24 24 3.6s Test Summary: | Pass Total Time Floating point arithmetic functions | 106 106 3.1s Test Summary: | Pass Total Time Type promotion | 88 88 0.8s Test Summary: | Pass Total Time Reduction operations | 19 19 0.7s Test Summary: | Pass Total Time Load and store functions | 66 66 1.5s Test Summary: | Pass Total Time Load and store with pointers | 168 168 3.3s Test Summary: | Pass Total Time fastmath | 6 6 0.2s Test Summary: | Pass Total Time Gather and scatter function | 120 120 5.2s Test Summary: | Pass Total Time expandload | 10 10 0.1s Test Summary: | Pass Total Time compressstore | 10 10 0.5s Test Summary: | Pass Total Time Index-based load/store | 104 104 5.4s ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:787 within `vsum` define double @julia_vsum_5274({ {}*, [1 x [2 x i64]], i64, i64 }* nocapture noundef nonnull readonly align 8 dereferenceable(40) %0) #0 { top: %gcframe46 = alloca [3 x {}*], align 16 %gcframe46.sub = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe46, i64 0, i64 0 %1 = bitcast [3 x {}*]* %gcframe46 to i8* call void @llvm.memset.p0i8.i64(i8* align 16 %1, i8 0, i64 24, i1 true) %newstruct11 = alloca [1 x [1 x i64]], align 8 %thread_ptr = call i8* asm "movq %fs:0, $0", "=r"() #14 %tls_ppgcstack = getelementptr i8, i8* %thread_ptr, i64 -8 %2 = bitcast i8* %tls_ppgcstack to {}**** %tls_pgcstack = load {}***, {}**** %2, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` ; ┌ @ abstractarray.jl:315 within `length` ; │┌ @ subarray.jl:63 within `size` ; ││┌ @ subarray.jl:491 within `axes` ; │││┌ @ subarray.jl:496 within `_indices_sub` ; ││││┌ @ range.jl:706 within `axes` ; │││││┌ @ range.jl:758 within `length` ; ││││││┌ @ range.jl:834 within `first` ; │││││││┌ @ Base.jl:37 within `getproperty` %3 = bitcast [3 x {}*]* %gcframe46 to i64* store i64 4, i64* %3, align 16 %4 = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe46, i64 0, i64 1 %5 = bitcast {}** %4 to {}*** %6 = load {}**, {}*** %tls_pgcstack, align 8 store {}** %6, {}*** %5, align 8 %7 = bitcast {}*** %tls_pgcstack to {}*** store {}** %gcframe46.sub, {}*** %7, align 8 %8 = getelementptr inbounds { {}*, [1 x [2 x i64]], i64, i64 }, { {}*, [1 x [2 x i64]], i64, i64 }* %0, i64 0, i32 1, i64 0, i64 0 ; ││││││└└ ; ││││││┌ @ range.jl:839 within `last` ; │││││││┌ @ Base.jl:37 within `getproperty` %9 = getelementptr inbounds { {}*, [1 x [2 x i64]], i64, i64 }, { {}*, [1 x [2 x i64]], i64, i64 }* %0, i64 0, i32 1, i64 0, i64 1 ; ││││││└└ ; ││││││ @ range.jl:761 within `length` ; ││││││┌ @ int.jl:86 within `-` %unbox = load i64, i64* %9, align 8 %unbox1 = load i64, i64* %8, align 8 %10 = add i64 %unbox, 1 ; ││││││└ ; ││││││┌ @ int.jl:87 within `+` %11 = sub i64 %10, %unbox1 ; │││││└└ ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 ; │││││││┌ @ promotion.jl:532 within `max` ; ││││││││┌ @ essentials.jl:647 within `ifelse` %12 = call i64 @llvm.smax.i64(i64 %11, i64 0) ; └└└└└└└└└ ; ┌ @ int.jl:296 within `rem` %13 = and i64 %12, 3 ; └ ; ┌ @ promotion.jl:521 within `==` %.not = icmp eq i64 %13, 0 ; └ br i1 %.not, label %L12, label %L135 L12: ; preds = %top ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; ┌ @ abstractarray.jl:315 within `length` ; │┌ @ subarray.jl:63 within `size` ; ││┌ @ subarray.jl:491 within `axes` ; │││┌ @ subarray.jl:496 within `_indices_sub` ; ││││┌ @ range.jl:706 within `axes` ; │││││┌ @ range.jl:761 within `length` ; ││││││┌ @ int.jl:86 within `-` %14 = sub i64 %unbox, %unbox1 ; ││││││└ ; ││││││┌ @ int.jl:87 within `+` %15 = add i64 %14, 1 ; │││││└└ ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 ; │││││││┌ @ promotion.jl:532 within `max` ; ││││││││┌ @ essentials.jl:647 within `ifelse` %16 = call i64 @llvm.smax.i64(i64 %15, i64 0) ; └└└└└└└└└ ; ┌ @ range.jl:22 within `Colon` ; │┌ @ range.jl:24 within `_colon` ; ││┌ @ range.jl:379 within `StepRange` @ range.jl:325 ; │││┌ @ range.jl:340 within `steprange_last` ; ││││┌ @ promotion.jl:521 within `==` %.not34 = icmp eq i64 %16, 1 ; ││││└ br i1 %.not34, label %L78.preheader, label %L29 L29: ; preds = %L12 ; ││││ @ range.jl:343 within `steprange_last` ; ││││┌ @ operators.jl:378 within `>` ; │││││┌ @ int.jl:83 within `<` %17 = icmp ult i64 %14, 9223372036854775807 ; ││││└└ br i1 %17, label %L38, label %L132 L38: ; preds = %L29 ; ││││ @ range.jl:348 within `steprange_last` ; ││││┌ @ operators.jl:378 within `>` ; │││││┌ @ int.jl:83 within `<` %18 = icmp ult i64 %16, 2 ; ││││└└ %19 = add nsw i64 %16, -1 %20 = sub nsw i64 1, %16 %value_phi21 = select i1 %18, i64 %20, i64 %19 %value_phi22 = select i1 %18, i64 -4, i64 4 ; ││││ @ range.jl:351 within `steprange_last` ; ││││┌ @ int.jl:83 within `<` %21 = icmp sgt i64 %value_phi21, -1 ; ││││└ br i1 %21, label %oksrem28, label %L48 L48: ; preds = %L38 ; ││││ @ range.jl:354 within `steprange_last` %22 = call i64 @j_overflow_case_5281(i64 signext %value_phi21, i64 signext %value_phi22) ; └└└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; ┌ @ range.jl:901 within `iterate` br label %L64 L64: ; preds = %oksrem28, %L48 %value_phi23 = phi i64 [ %22, %L48 ], [ %45, %oksrem28 ] ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; ┌ @ range.jl:22 within `Colon` ; │┌ @ range.jl:24 within `_colon` ; ││┌ @ range.jl:379 within `StepRange` @ range.jl:325 ; │││┌ @ range.jl:359 within `steprange_last` %23 = sub i64 0, %value_phi23 %value_phi24.p = select i1 %18, i64 %value_phi23, i64 %23 %value_phi24 = add i64 %value_phi24.p, %16 ; └└└└ ; ┌ @ range.jl:897 within `iterate` ; │┌ @ range.jl:669 within `isempty` ; ││┌ @ bool.jl:38 within `&` %24 = icmp slt i64 %value_phi24, 1 ; └└└ br i1 %24, label %L132, label %L78.preheader L78.preheader: ; preds = %L64, %L12 %value_phi41 = phi i64 [ %value_phi24, %L64 ], [ 1, %L12 ] %memcpy_refined_dst = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %newstruct11, i64 0, i64 0, i64 0 %25 = bitcast { {}*, [1 x [2 x i64]], i64, i64 }* %0 to i8*** %getfield50 = load atomic i8**, i8*** %25 unordered, align 8 %26 = getelementptr inbounds { {}*, [1 x [2 x i64]], i64, i64 }, { {}*, [1 x [2 x i64]], i64, i64 }* %0, i64 0, i32 2 %unbox16 = load i64, i64* %26, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:792 within `vsum` ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:702 within `checkbounds` br label %L78 L78: ; preds = %L108, %L78.preheader %value_phi8 = phi i64 [ %35, %L108 ], [ 1, %L78.preheader ] %value_phi10 = phi <4 x double> [ %34, %L108 ], [ zeroinitializer, %L78.preheader ] ; │││ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:514 within `<=` %27 = icmp slt i64 %value_phi8, 1 ; ││││└ %28 = add nuw i64 %value_phi8, 3 %29 = icmp sgt i64 %28, %12 %narrow = select i1 %27, i1 true, i1 %29 ; │││└ ; │││ @ abstractarray.jl:702 within `checkbounds` br i1 %narrow, label %L104, label %L108 L104: ; preds = %L78 ; │││ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi8, i64* %memcpy_refined_dst, align 8 ; │││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5280({ {}*, [1 x [2 x i64]], i64, i64 }* nocapture nonnull readonly %0, [1 x [1 x i64]]* nocapture readonly %newstruct11) #3 unreachable L108: ; preds = %L78 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:290 within `_pointer` ; ││┌ @ subarray.jl:477 within `pointer` ; │││┌ @ int.jl:87 within `+` %30 = add i64 %unbox16, %value_phi8 ; │││└ ; │││ @ subarray.jl:477 within `pointer` @ abstractarray.jl:1239 ; │││┌ @ pointer.jl:65 within `unsafe_convert` %arrayptr = load i8*, i8** %getfield50, align 8 ; │││└ ; │││┌ @ abstractarray.jl:1243 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %31 = shl i64 %30, 3 %32 = add i64 %31, -8 ; │││└└ ; │││┌ @ pointer.jl:282 within `+` %33 = getelementptr i8, i8* %arrayptr, i64 %32 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 within `vload` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:50 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:470 within `load` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:479 within `macro expansion` %ptr.i = bitcast i8* %33 to <4 x double>* %res.i = load <4 x double>, <4 x double>* %ptr.i, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:262 within `+` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:220 within `fadd` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:220 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:229 within `macro expansion` %34 = fadd <4 x double> %value_phi10, %res.i ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; ┌ @ range.jl:901 within `iterate` ; │┌ @ promotion.jl:521 within `==` %.not35 = icmp eq i64 %value_phi8, %value_phi41 ; │└ %35 = add nuw i64 %value_phi8, 4 ; └ br i1 %.not35, label %L132.loopexit, label %L78 L132.loopexit: ; preds = %L108 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:792 within `vsum` ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi41, i64* %memcpy_refined_dst, align 8 ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:794 within `vsum` ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:488 within `sum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:859 within `reduce_fadd` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:875 within `macro expansion` br label %L132 L132: ; preds = %L132.loopexit, %L64, %L29 %value_phi20 = phi <4 x double> [ zeroinitializer, %L64 ], [ zeroinitializer, %L29 ], [ %34, %L132.loopexit ] %res.i33 = call reassoc double @llvm.vector.reduce.fadd.v4f64(double 0.000000e+00, <4 x double> %value_phi20) %36 = load {}*, {}** %4, align 8 %37 = bitcast {}*** %tls_pgcstack to {}** store {}* %36, {}** %37, align 8 ret double %res.i33 L135: ; preds = %top ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` %38 = call [1 x {}*] @j_AssertionError_5282({}* inttoptr (i64 136809400902800 to {}*)) %39 = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe46, i64 0, i64 2 %40 = extractvalue [1 x {}*] %38, 0 store {}* %40, {}** %39, align 16 %ptls_field47 = getelementptr inbounds {}**, {}*** %tls_pgcstack, i64 2 %41 = bitcast {}*** %ptls_field47 to i8** %ptls_load4849 = load i8*, i8** %41, align 8 %box = call noalias nonnull dereferenceable(16) {}* @ijl_gc_pool_alloc(i8* %ptls_load4849, i32 752, i32 16) #12 %42 = bitcast {}* %box to i64* %43 = getelementptr inbounds i64, i64* %42, i64 -1 store atomic i64 136809200121344, i64* %43 unordered, align 8 %44 = bitcast {}* %box to {}** store {}* %40, {}** %44, align 8 call void @ijl_throw({}* %box) unreachable oksrem28: ; preds = %L38 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; ┌ @ range.jl:22 within `Colon` ; │┌ @ range.jl:24 within `_colon` ; ││┌ @ range.jl:379 within `StepRange` @ range.jl:325 ; │││┌ @ range.jl:356 within `steprange_last` ; ││││┌ @ int.jl:296 within `rem` %45 = srem i64 %value_phi21, %value_phi22 br label %L64 ; └└└└└ } .text .file "vsum" .globl julia_vsum_5290 # -- Begin function julia_vsum_5290 .p2align 4, 0x90 .type julia_vsum_5290,@function julia_vsum_5290: # @julia_vsum_5290 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:787 within `vsum` # %bb.0: # %top push rbp mov rbp, rsp push r15 push r14 push rbx sub rsp, 40 vxorps xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP lea rcx, [rbp - 64] vmovaps xmmword ptr [rbp - 64], xmm0 mov qword ptr [rbp - 48], 0 mov r14, qword ptr [rax - 8] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` ; │┌ @ abstractarray.jl:315 within `length` ; ││┌ @ subarray.jl:63 within `size` ; │││┌ @ subarray.jl:491 within `axes` ; ││││┌ @ subarray.jl:496 within `_indices_sub` ; │││││┌ @ range.jl:706 within `axes` ; ││││││┌ @ range.jl:758 within `length` ; │││││││┌ @ range.jl:834 within `first` ; ││││││││┌ @ Base.jl:37 within `getproperty` mov qword ptr [rbp - 64], 4 mov rax, qword ptr [r14] mov qword ptr [rbp - 56], rax mov qword ptr [r14], rcx ; │││││││└└ ; │││││││ @ range.jl:761 within `length` ; │││││││┌ @ int.jl:86 within `-` mov rcx, qword ptr [rdi + 16] ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` sub rcx, qword ptr [rdi + 8] lea rax, [rcx + 1] ; ││││││└└ ; ││││││┌ @ range.jl:469 within `oneto` ; │││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 ; ││││││││┌ @ promotion.jl:532 within `max` ; │││││││││┌ @ essentials.jl:647 within `ifelse` mov rdx, rax sar rdx, 63 andn rbx, rdx, rax ; │└└└└└└└└└ ; │┌ @ promotion.jl:521 within `==` test bl, 3 ; │└ jne .LBB0_12 # %bb.1: # %L12 mov r15, rdi mov r8d, 1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; │┌ @ range.jl:22 within `Colon` ; ││┌ @ range.jl:24 within `_colon` ; │││┌ @ range.jl:379 within `StepRange` @ range.jl:325 ; ││││┌ @ range.jl:340 within `steprange_last` ; │││││┌ @ promotion.jl:521 within `==` cmp rbx, 1 ; │││││└ je .LBB0_6 # %bb.2: # %L29 vxorpd xmm1, xmm1, xmm1 movabs rax, 9223372036854775806 ; │││││ @ range.jl:343 within `steprange_last` ; │││││┌ @ operators.jl:378 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp rcx, rax ; │││││└└ ja .LBB0_11 # %bb.3: # %L38 mov eax, 1 ; │││││ @ range.jl:348 within `steprange_last` ; │││││┌ @ operators.jl:378 within `>` ; ││││││┌ @ int.jl:83 within `<` xor edx, edx ; │││││└└ lea rcx, [rbx - 1] sub rax, rbx ; │││││┌ @ operators.jl:378 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp rbx, 2 setae dl ; │││││└└ cmovae rax, rcx lea rsi, [8*rdx - 4] ; │││││ @ range.jl:351 within `steprange_last` ; │││││┌ @ int.jl:83 within `<` test rax, rax ; │││││└ js .LBB0_4 # %bb.13: # %oksrem28 ; │││││ @ range.jl:356 within `steprange_last` ; │││││┌ @ int.jl:296 within `rem` cqo idiv rsi jmp .LBB0_5 .LBB0_4: # %L48 ; │││││└ ; │││││ @ range.jl:354 within `steprange_last` movabs rcx, offset j_overflow_case_5297 mov rdi, rax vzeroupper call rcx vxorpd xmm1, xmm1, xmm1 mov rdx, rax .LBB0_5: # %L64 ; │││││ @ range.jl:359 within `steprange_last` mov r8, rdx neg r8 ; │││││ @ range.jl:348 within `steprange_last` ; │││││┌ @ operators.jl:378 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp rbx, 2 ; │││││└└ ; │││││ @ range.jl:359 within `steprange_last` cmovb r8, rdx add r8, rbx ; │└└└└ ; │┌ @ range.jl:897 within `iterate` ; ││┌ @ range.jl:669 within `isempty` ; │││┌ @ bool.jl:38 within `&` test r8, r8 ; │└└└ jle .LBB0_11 .LBB0_6: # %L78.preheader mov rdx, qword ptr [r15 + 24] mov rcx, qword ptr [r15] mov rsi, -3 vxorpd xmm1, xmm1, xmm1 mov edi, 4 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:792 within `vsum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:702 within `checkbounds` sub rsi, r8 shl rdx, 3 .p2align 4, 0x90 .LBB0_7: # %L78 # =>This Inner Loop Header: Depth=1 ; ││││ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:514 within `<=` lea rax, [rdi - 3] test rax, rax ; ││││└└ ; ││││ @ abstractarray.jl:702 within `checkbounds` jle .LBB0_14 # %bb.8: # %L78 # in Loop: Header=BB0_7 Depth=1 cmp rdi, rbx jg .LBB0_14 # %bb.9: # %L108 # in Loop: Header=BB0_7 Depth=1 mov rax, qword ptr [rcx] ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 within `vload` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:50 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:470 within `load` ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:479 within `macro expansion` add rax, rdx ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:262 within `+` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:220 within `fadd` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:220 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:229 within `macro expansion` vaddpd ymm1, ymm1, ymmword ptr [rax + 8*rdi - 32] ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; │┌ @ range.jl:901 within `iterate` ; ││┌ @ promotion.jl:521 within `==` lea rax, [rsi + rdi + 4] add rdi, 4 cmp rax, 4 ; │└└ jne .LBB0_7 # %bb.10: # %L132.loopexit ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:792 within `vsum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 32], r8 .LBB0_11: # %L132 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:794 within `vsum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:488 within `sum` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:859 within `reduce_fadd` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:875 within `macro expansion` vextractf128 xmm0, ymm1, 1 mov rax, qword ptr [rbp - 56] vaddpd xmm0, xmm1, xmm0 vpermilpd xmm1, xmm0, 1 # xmm1 = xmm0[1,0] vaddsd xmm0, xmm0, xmm1 vxorpd xmm1, xmm1, xmm1 vaddsd xmm0, xmm0, xmm1 mov qword ptr [r14], rax add rsp, 40 pop rbx pop r14 pop r15 pop rbp vzeroupper ret .LBB0_14: # %L104 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:792 within `vsum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 32], rax ; ││││ @ abstractarray.jl:702 within `checkbounds` movabs rax, offset j_throw_boundserror_5296 lea rsi, [rbp - 32] mov rdi, r15 vzeroupper call rax .LBB0_12: # %L135 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` movabs rax, offset j_AssertionError_5298 movabs rdi, 136809400902800 call rax mov qword ptr [rbp - 48], rax mov rbx, rax movabs rax, offset ijl_gc_pool_alloc mov esi, 752 mov edx, 16 mov rdi, qword ptr [r14 + 16] call rax movabs rcx, 136809200121344 mov rdi, rax mov qword ptr [rax - 8], rcx movabs rcx, offset ijl_throw mov qword ptr [rax], rbx call rcx .Lfunc_end0: .size julia_vsum_5290, .Lfunc_end0-julia_vsum_5290 ; └ # -- End function .section ".note.GNU-stack","",@progbits ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:860 within `vcompress!` define nonnull {}* @"japi1_vcompress!_5387"({}* %function, {}** noalias nocapture noundef readonly %args, i32 %nargs) #0 { top: %gcframe297 = alloca [3 x {}*], align 16 %gcframe297.sub = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe297, i64 0, i64 0 %0 = bitcast [3 x {}*]* %gcframe297 to i8* call void @llvm.memset.p0i8.i64(i8* align 16 %0, i8 0, i64 24, i1 true) %stackargs = alloca {}**, align 8 store volatile {}** %args, {}*** %stackargs, align 8 %newstruct14 = alloca [1 x [1 x i64]], align 8 %newstruct24 = alloca [1 x [1 x [1 x i64]]], align 8 %newstruct25 = alloca [1 x i64], align 8 %newstruct28 = alloca [1 x [1 x i64]], align 8 %newstruct40 = alloca [1 x [1 x [1 x i64]]], align 8 %newstruct41 = alloca [1 x i64], align 8 %newstruct47 = alloca [1 x [2 x i64]], align 8 %thread_ptr = call i8* asm "movq %fs:0, $0", "=r"() #14 %tls_ppgcstack = getelementptr i8, i8* %thread_ptr, i64 -8 %1 = bitcast i8* %tls_ppgcstack to {}**** %tls_pgcstack = load {}***, {}**** %1, align 8 %2 = bitcast [3 x {}*]* %gcframe297 to i64* store i64 4, i64* %2, align 16 %3 = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe297, i64 0, i64 1 %4 = bitcast {}** %3 to {}*** %5 = load {}**, {}*** %tls_pgcstack, align 8 store {}** %5, {}*** %4, align 8 %6 = bitcast {}*** %tls_pgcstack to {}*** store {}** %gcframe297.sub, {}*** %6, align 8 %7 = load {}*, {}** %args, align 8 %8 = getelementptr inbounds {}*, {}** %args, i64 1 %9 = load {}*, {}** %8, align 8 %10 = getelementptr inbounds {}*, {}** %args, i64 2 %11 = load {}*, {}** %10, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 ; ┌ @ abstractarray.jl:98 within `axes` ; │┌ @ array.jl:191 within `size` %12 = bitcast {}* %11 to { i8*, i64, i16, i16, i32 }* %arraylen_ptr = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %12, i64 0, i32 1 %arraylen = load i64, i64* %arraylen_ptr, align 8 %13 = bitcast {}* %7 to { i8*, i64, i16, i16, i32 }* %arraylen_ptr1 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %13, i64 0, i32 1 %arraylen2 = load i64, i64* %arraylen_ptr1, align 8 ; └└ ; ┌ @ tuple.jl:482 within `==` ; │┌ @ tuple.jl:486 within `_eq` ; ││┌ @ range.jl:1134 within `==` @ promotion.jl:521 %.not.not = icmp eq i64 %arraylen2, %arraylen ; └└└ br i1 %.not.not, label %L27, label %L208 L27: ; preds = %top ; ┌ @ abstractarray.jl:98 within `axes` ; │┌ @ array.jl:191 within `size` %14 = bitcast {}* %9 to { i8*, i64, i16, i16, i32 }* %arraylen_ptr4 = getelementptr inbounds { i8*, i64, i16, i16, i32 }, { i8*, i64, i16, i16, i32 }* %14, i64 0, i32 1 %arraylen5 = load i64, i64* %arraylen_ptr4, align 8 ; └└ ; ┌ @ tuple.jl:482 within `==` ; │┌ @ tuple.jl:486 within `_eq` ; ││┌ @ range.jl:1134 within `==` @ promotion.jl:521 %.not.not234 = icmp eq i64 %arraylen, %arraylen5 ; └└└ br i1 %.not.not234, label %L29, label %L208 L29: ; preds = %L27 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:862 ; ┌ @ int.jl:87 within `+` %15 = add nsw i64 %arraylen, -3 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; ┌ @ int.jl:514 within `<=` %.not93119 = icmp ult i64 %arraylen, 4 ; └ br i1 %.not93119, label %L192.preheader, label %L38.lr.ph L38.lr.ph: ; preds = %L29 %memcpy_refined_dst = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %newstruct14, i64 0, i64 0, i64 0 %16 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]]* %newstruct24, i64 0, i64 0, i64 0, i64 0 %17 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct25, i64 0, i64 0 %memcpy_refined_dst30 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %newstruct28, i64 0, i64 0, i64 0 %18 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]]* %newstruct40, i64 0, i64 0, i64 0, i64 0 %19 = getelementptr inbounds [1 x i64], [1 x i64]* %newstruct41, i64 0, i64 0 %newstruct46.sroa.0.0..sroa_idx = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %newstruct47, i64 0, i64 0, i64 0 %newstruct46.sroa.2.0..sroa_idx87 = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %newstruct47, i64 0, i64 0, i64 1 br label %L38 L34.L192.preheader_crit_edge: ; preds = %L174 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %memcpy_refined_dst, align 8 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; ││┌ @ indices.jl:486 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:291 within `map` ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 store i64 %arraylen16, i64* %16, align 8 ; ││└└└└└ ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %17, align 8 ; └└└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %memcpy_refined_dst30, align 8 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; ││┌ @ indices.jl:486 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:291 within `map` ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 store i64 %arraylen32, i64* %18, align 8 ; ││└└└└└ ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %19, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; │┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi12120, i64* %newstruct46.sroa.0.0..sroa_idx, align 8 store i64 %value_phi45, i64* %newstruct46.sroa.2.0..sroa_idx87, align 8 ; └└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; ┌ @ abstractarray.jl:426 within `lastindex` ; │┌ @ abstractarray.jl:389 within `eachindex` ; ││┌ @ abstractarray.jl:137 within `axes1` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ array.jl:191 within `size` %arraylen60123.pre = load i64, i64* %arraylen_ptr, align 8 ; └└└└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 br label %L192.preheader L192.preheader: ; preds = %L34.L192.preheader_crit_edge, %L29 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; ┌ @ abstractarray.jl:426 within `lastindex` ; │┌ @ abstractarray.jl:389 within `eachindex` ; ││┌ @ abstractarray.jl:137 within `axes1` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ array.jl:191 within `size` %arraylen60 = phi i64 [ %arraylen60123.pre, %L34.L192.preheader_crit_edge ], [ %arraylen, %L29 ] %value_phi12.lcssa = phi i64 [ %55, %L34.L192.preheader_crit_edge ], [ 1, %L29 ] %value_phi13.lcssa = phi i64 [ %56, %L34.L192.preheader_crit_edge ], [ 1, %L29 ] ; └└└└└ ; ┌ @ int.jl:514 within `<=` %.not98124 = icmp ugt i64 %value_phi13.lcssa, %arraylen60 ; └ br i1 %.not98124, label %L211, label %L199.lr.ph L199.lr.ph: ; preds = %L192.preheader %arraylen63 = load i64, i64* %arraylen_ptr4, align 8 %20 = bitcast {}* %9 to i8** %arrayptr65 = load i8*, i8** %20, align 8 %arraylen76 = load i64, i64* %arraylen_ptr1, align 8 %21 = bitcast {}* %11 to double** %arrayptr7399 = load double*, double** %21, align 8 %22 = bitcast {}* %7 to double** %arrayptr82100 = load double*, double** %22, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:13 within `getindex` %23 = add nsw i64 %value_phi13.lcssa, -1 %inbounds.peel = icmp ult i64 %23, %arraylen63 br i1 %inbounds.peel, label %idxend.peel, label %oob idxend.peel: ; preds = %L199.lr.ph %24 = getelementptr inbounds i8, i8* %arrayptr65, i64 %23 %25 = load i8, i8* %24, align 1 %26 = and i8 %25, 1 %arrayref.not.peel = icmp eq i8 %26, 0 ; └ br i1 %arrayref.not.peel, label %L204.peel, label %L201.peel L201.peel: ; preds = %idxend.peel ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:13 within `getindex` %inbounds68.peel = icmp ult i64 %23, %arraylen60 br i1 %inbounds68.peel, label %idxend71.peel, label %oob69 idxend71.peel: ; preds = %L201.peel ; └ ; ┌ @ array.jl:1021 within `setindex!` %27 = add i64 %value_phi12.lcssa, -1 %inbounds77.peel = icmp ult i64 %27, %arraylen76 br i1 %inbounds77.peel, label %idxend80.peel, label %oob78 idxend80.peel: ; preds = %idxend71.peel ; └ ; ┌ @ essentials.jl:13 within `getindex` %28 = getelementptr inbounds double, double* %arrayptr7399, i64 %23 %arrayref74.peel = load double, double* %28, align 8 ; └ ; ┌ @ array.jl:1021 within `setindex!` %29 = getelementptr inbounds double, double* %arrayptr82100, i64 %27 store double %arrayref74.peel, double* %29, align 8 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; ┌ @ int.jl:87 within `+` %30 = add nuw nsw i64 %value_phi12.lcssa, 1 br label %L204.peel L204.peel: ; preds = %idxend80.peel, %idxend.peel %value_phi83.peel = phi i64 [ %30, %idxend80.peel ], [ %value_phi12.lcssa, %idxend.peel ] ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:877 ; ┌ @ int.jl:87 within `+` %indvar.start = add nuw nsw i64 %value_phi13.lcssa, 1 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; ┌ @ int.jl:514 within `<=` %.not98.peel.not = icmp ult i64 %value_phi13.lcssa, %arraylen60 ; └ br i1 %.not98.peel.not, label %L199.peel.next, label %L211 L199.peel.next: ; preds = %L204.peel %31 = add nuw i64 %arraylen60, 1 %32 = add nuw nsw i64 %arraylen63, 1 %smin = call i64 @llvm.smin.i64(i64 %31, i64 %32) %exit.mainloop.at = call i64 @llvm.smax.i64(i64 %smin, i64 %indvar.start) %33 = icmp slt i64 %indvar.start, %smin br i1 %33, label %idxend, label %postloop L38: ; preds = %L174, %L38.lr.ph %value_phi13121 = phi i64 [ 1, %L38.lr.ph ], [ %56, %L174 ] %value_phi12120 = phi i64 [ 1, %L38.lr.ph ], [ %55, %L174 ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:191 within `size` %arraylen16 = load i64, i64* %arraylen_ptr4, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` %34 = add nuw nsw i64 %value_phi13121, 3 %35 = icmp ugt i64 %34, %arraylen16 ; │││└ ; │││ @ abstractarray.jl:702 within `checkbounds` br i1 %35, label %L56, label %L60 L56: ; preds = %L38 ; │││ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %memcpy_refined_dst, align 8 ; │││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5395({}* nonnull %9, [1 x [1 x i64]]* nocapture readonly %newstruct14) #5 unreachable L60: ; preds = %L38 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:762 within `checkindex` ; │││││┌ @ int.jl:86 within `-` %36 = add nsw i64 %value_phi13121, -1 ; │││││└ ; │││││┌ @ int.jl:513 within `<` %.not94 = icmp ult i64 %36, %arraylen16 ; ││││└└ ; ││││ @ abstractarray.jl:702 within `checkbounds` br i1 %.not94, label %L80, label %L76 L76: ; preds = %L60 ; ││└└ ; ││┌ @ indices.jl:486 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:291 within `map` ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 store i64 %arraylen16, i64* %16, align 8 ; ││└└└└└ ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %17, align 8 ; ││││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5393([1 x [1 x [1 x i64]]]* nocapture readonly %newstruct24, [1 x i64]* nocapture readonly %newstruct25) #5 unreachable L80: ; preds = %L60 ; ││└└ ; ││┌ @ abstractarray.jl:1239 within `pointer` ; │││┌ @ pointer.jl:65 within `unsafe_convert` %37 = bitcast {}* %9 to i8** %arrayptr = load i8*, i8** %37, align 8 ; │││└ ; │││┌ @ pointer.jl:282 within `+` %38 = getelementptr i8, i8* %arrayptr, i64 %36 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 within `vload` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:50 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:470 within `load` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:479 within `macro expansion` %ptr.i = bitcast i8* %38 to <4 x i8>* %res.i = load <4 x i8>, <4 x i8>* %ptr.i, align 1 ; └└└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; ││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:191 within `size` %arraylen32 = load i64, i64* %arraylen_ptr, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` %39 = icmp ugt i64 %34, %arraylen32 ; │││└ ; │││ @ abstractarray.jl:702 within `checkbounds` br i1 %39, label %L108, label %L112 L108: ; preds = %L80 ; │││ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %memcpy_refined_dst30, align 8 ; │││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5394({}* nonnull %11, [1 x [1 x i64]]* nocapture readonly %newstruct28) #5 unreachable L112: ; preds = %L80 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:762 within `checkindex` ; │││││┌ @ int.jl:513 within `<` %.not96 = icmp ult i64 %36, %arraylen32 ; ││││└└ ; ││││ @ abstractarray.jl:702 within `checkbounds` br i1 %.not96, label %L132, label %L128 L128: ; preds = %L112 ; ││└└ ; ││┌ @ indices.jl:486 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:291 within `map` ; │││││┌ @ range.jl:469 within `oneto` ; ││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 store i64 %arraylen32, i64* %18, align 8 ; ││└└└└└ ; ││┌ @ indices.jl:510 within `getindex` ; │││┌ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi13121, i64* %19, align 8 ; ││││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5393([1 x [1 x [1 x i64]]]* nocapture readonly %newstruct40, [1 x i64]* nocapture readonly %newstruct41) #5 unreachable L132: ; preds = %L112 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; │┌ @ range.jl:5 within `Colon` ; ││┌ @ range.jl:403 within `UnitRange` ; │││┌ @ range.jl:414 within `unitrange_last` ; ││││┌ @ operators.jl:425 within `>=` ; │││││┌ @ int.jl:514 within `<=` %.not97 = icmp sgt i64 %value_phi12120, 9223372036854775804 ; ││││└└ %value_phi45.v = select i1 %.not97, i64 -1, i64 3 %value_phi45 = add i64 %value_phi45.v, %value_phi12120 ; │└└└ ; │┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││┌ @ abstractarray.jl:389 within `eachindex` ; │││┌ @ abstractarray.jl:137 within `axes1` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ array.jl:191 within `size` %arraylen49 = load i64, i64* %arraylen_ptr1, align 8 ; ││└└└└ ; ││┌ @ abstractarray.jl:767 within `checkindex` ; │││┌ @ range.jl:672 within `isempty` ; ││││┌ @ operators.jl:378 within `>` ; │││││┌ @ int.jl:83 within `<` %40 = icmp slt i64 %value_phi45, %value_phi12120 ; │││└└└ ; │││ @ abstractarray.jl:767 within `checkindex` @ abstractarray.jl:762 ; │││┌ @ int.jl:86 within `-` %41 = add i64 %value_phi12120, -1 ; │││└ ; │││┌ @ int.jl:513 within `<` %42 = icmp ult i64 %41, %arraylen49 ; │││└ ; │││┌ @ int.jl:86 within `-` %43 = add i64 %value_phi45, -1 ; │││└ ; │││┌ @ int.jl:513 within `<` %44 = icmp ult i64 %43, %arraylen49 ; │││└ ; │││ @ abstractarray.jl:767 within `checkindex` ; │││┌ @ bool.jl:38 within `&` %45 = and i1 %42, %44 ; │││└ ; │││┌ @ bool.jl:39 within `|` %46 = or i1 %40, %45 ; ││└└ ; ││ @ abstractarray.jl:702 within `checkbounds` br i1 %46, label %L174, label %L171 L171: ; preds = %L132 ; ││ @ abstractarray.jl:700 within `checkbounds` store i64 %value_phi12120, i64* %newstruct46.sroa.0.0..sroa_idx, align 8 store i64 %value_phi45, i64* %newstruct46.sroa.2.0..sroa_idx87, align 8 ; ││ @ abstractarray.jl:702 within `checkbounds` call void @j_throw_boundserror_5392({}* nonnull %7, [1 x [2 x i64]]* nocapture readonly %newstruct47) #5 unreachable L174: ; preds = %L132 ; └└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; ││┌ @ abstractarray.jl:1239 within `pointer` ; │││┌ @ pointer.jl:65 within `unsafe_convert` %47 = bitcast {}* %11 to i8** %arrayptr44 = load i8*, i8** %47, align 8 ; │││└ ; │││┌ @ abstractarray.jl:1243 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %48 = shl i64 %value_phi13121, 3 %49 = add nsw i64 %48, -8 ; │││└└ ; │││┌ @ pointer.jl:282 within `+` %50 = getelementptr i8, i8* %arrayptr44, i64 %49 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 within `vload` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:50 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:470 within `load` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:479 within `macro expansion` %ptr.i88 = bitcast i8* %50 to <4 x double>* %res.i89 = load <4 x double>, <4 x double>* %ptr.i88, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; │┌ @ abstractarray.jl:1239 within `pointer` ; ││┌ @ pointer.jl:65 within `unsafe_convert` %51 = bitcast {}* %7 to i8** %arrayptr52 = load i8*, i8** %51, align 8 ; ││└ ; ││┌ @ abstractarray.jl:1243 within `_memory_offset` ; │││┌ @ int.jl:88 within `*` %52 = shl i64 %value_phi12120, 3 %53 = add i64 %52, -8 ; ││└└ ; ││┌ @ pointer.jl:282 within `+` %54 = getelementptr i8, i8* %arrayptr52, i64 %53 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:112 within `vstorec` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:104 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:562 within `maskedcompressstore` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:579 within `macro expansion` %mask.i = trunc <4 x i8> %res.i to <4 x i1> %ptr.i90 = bitcast i8* %54 to double* call void @llvm.masked.compressstore.v4f64(<4 x double> %res.i89, double* %ptr.i90, <4 x i1> %mask.i) ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:869 ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:486 within `sum` ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:476 within `reduce` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:881 within `reduce_add` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:911 within `macro expansion` %maski.i = bitcast <4 x i1> %mask.i to i4 %maskipopcnt.i = call i4 @llvm.ctpop.i4(i4 %maski.i) %res.i92 = zext i4 %maskipopcnt.i to i64 ; └└└└ ; ┌ @ int.jl:87 within `+` %55 = add i64 %value_phi12120, %res.i92 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:870 ; ┌ @ int.jl:87 within `+` %56 = add nuw nsw i64 %value_phi13121, 4 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; ┌ @ int.jl:514 within `<=` %.not93 = icmp sgt i64 %56, %15 ; └ br i1 %.not93, label %L34.L192.preheader_crit_edge, label %L38 L204: ; preds = %idxend80, %idxend %value_phi83 = phi i64 [ %75, %idxend80 ], [ %value_phi57125, %idxend ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:877 ; ┌ @ int.jl:87 within `+` %57 = add nuw nsw i64 %value_phi58126, 1 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 %.not = icmp slt i64 %57, %exit.mainloop.at br i1 %.not, label %idxend, label %main.exit.selector main.exit.selector: ; preds = %L204 %58 = icmp slt i64 %57, %31 br i1 %58, label %postloop, label %L211 L208: ; preds = %L27, %top ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 %59 = call [1 x {}*] @j_AssertionError_5396({}* inttoptr (i64 136809403974608 to {}*)) %60 = getelementptr inbounds [3 x {}*], [3 x {}*]* %gcframe297, i64 0, i64 2 %61 = extractvalue [1 x {}*] %59, 0 store {}* %61, {}** %60, align 16 %ptls_field298 = getelementptr inbounds {}**, {}*** %tls_pgcstack, i64 2 %62 = bitcast {}*** %ptls_field298 to i8** %ptls_load299300 = load i8*, i8** %62, align 8 %box = call noalias nonnull dereferenceable(16) {}* @ijl_gc_pool_alloc(i8* %ptls_load299300, i32 752, i32 16) #12 %63 = bitcast {}* %box to i64* %64 = getelementptr inbounds i64, i64* %63, i64 -1 store atomic i64 136809200121344, i64* %64 unordered, align 8 %65 = bitcast {}* %box to {}** store {}* %61, {}** %65, align 8 call void @ijl_throw({}* %box) unreachable L211: ; preds = %L204.postloop, %main.exit.selector, %L204.peel, %L192.preheader %66 = load {}*, {}** %3, align 8 %67 = bitcast {}*** %tls_pgcstack to {}** store {}* %66, {}** %67, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:879 ret {}* %7 oob: ; preds = %L199.postloop, %L199.lr.ph %value_phi58.lcssa103 = phi i64 [ %value_phi13.lcssa, %L199.lr.ph ], [ %value_phi58126.postloop, %L199.postloop ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:13 within `getindex` %errorbox = alloca i64, align 8 store i64 %value_phi58.lcssa103, i64* %errorbox, align 8 call void @ijl_bounds_error_ints({}* %9, i64* nonnull %errorbox, i64 1) unreachable idxend: ; preds = %L204, %L199.peel.next %value_phi58126 = phi i64 [ %57, %L204 ], [ %indvar.start, %L199.peel.next ] %value_phi57125 = phi i64 [ %value_phi83, %L204 ], [ %value_phi83.peel, %L199.peel.next ] %68 = add nsw i64 %value_phi58126, -1 %69 = getelementptr inbounds i8, i8* %arrayptr65, i64 %68 %70 = load i8, i8* %69, align 1 %71 = and i8 %70, 1 %arrayref.not = icmp eq i8 %71, 0 ; └ br i1 %arrayref.not, label %L204, label %idxend71 oob69: ; preds = %L201.postloop, %L201.peel %value_phi58.lcssa104 = phi i64 [ %value_phi13.lcssa, %L201.peel ], [ %value_phi58126.postloop, %L201.postloop ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:13 within `getindex` %errorbox70 = alloca i64, align 8 store i64 %value_phi58.lcssa104, i64* %errorbox70, align 8 call void @ijl_bounds_error_ints({}* %11, i64* nonnull %errorbox70, i64 1) unreachable idxend71: ; preds = %idxend ; └ ; ┌ @ array.jl:1021 within `setindex!` %72 = add i64 %value_phi57125, -1 %inbounds77 = icmp ult i64 %72, %arraylen76 br i1 %inbounds77, label %idxend80, label %oob78 oob78: ; preds = %idxend71.postloop, %idxend71, %idxend71.peel %value_phi57.lcssa108 = phi i64 [ %value_phi12.lcssa, %idxend71.peel ], [ %value_phi57125.postloop, %idxend71.postloop ], [ %value_phi57125, %idxend71 ] %errorbox79 = alloca i64, align 8 store i64 %value_phi57.lcssa108, i64* %errorbox79, align 8 call void @ijl_bounds_error_ints({}* %7, i64* nonnull %errorbox79, i64 1) unreachable idxend80: ; preds = %idxend71 ; └ ; ┌ @ essentials.jl:13 within `getindex` %73 = getelementptr inbounds double, double* %arrayptr7399, i64 %68 %arrayref74 = load double, double* %73, align 8 ; └ ; ┌ @ array.jl:1021 within `setindex!` %74 = getelementptr inbounds double, double* %arrayptr82100, i64 %72 store double %arrayref74, double* %74, align 8 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; ┌ @ int.jl:87 within `+` %75 = add nuw nsw i64 %value_phi57125, 1 br label %L204 postloop: ; preds = %main.exit.selector, %L199.peel.next %value_phi58126.copy = phi i64 [ %indvar.start, %L199.peel.next ], [ %57, %main.exit.selector ] %value_phi57125.copy = phi i64 [ %value_phi83.peel, %L199.peel.next ], [ %value_phi83, %main.exit.selector ] br label %L199.postloop L199.postloop: ; preds = %L204.postloop, %postloop %value_phi58126.postloop = phi i64 [ %value_phi58126.copy, %postloop ], [ %84, %L204.postloop ] %value_phi57125.postloop = phi i64 [ %value_phi57125.copy, %postloop ], [ %value_phi83.postloop, %L204.postloop ] ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:13 within `getindex` %76 = add nsw i64 %value_phi58126.postloop, -1 %inbounds.postloop = icmp ult i64 %76, %arraylen63 br i1 %inbounds.postloop, label %idxend.postloop, label %oob idxend.postloop: ; preds = %L199.postloop %77 = getelementptr inbounds i8, i8* %arrayptr65, i64 %76 %78 = load i8, i8* %77, align 1 %79 = and i8 %78, 1 %arrayref.not.postloop = icmp eq i8 %79, 0 ; └ br i1 %arrayref.not.postloop, label %L204.postloop, label %L201.postloop L201.postloop: ; preds = %idxend.postloop ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:13 within `getindex` %inbounds68.postloop = icmp ult i64 %76, %arraylen60 br i1 %inbounds68.postloop, label %idxend71.postloop, label %oob69 idxend71.postloop: ; preds = %L201.postloop ; └ ; ┌ @ array.jl:1021 within `setindex!` %80 = add i64 %value_phi57125.postloop, -1 %inbounds77.postloop = icmp ult i64 %80, %arraylen76 br i1 %inbounds77.postloop, label %idxend80.postloop, label %oob78 idxend80.postloop: ; preds = %idxend71.postloop ; └ ; ┌ @ essentials.jl:13 within `getindex` %81 = getelementptr inbounds double, double* %arrayptr7399, i64 %76 %arrayref74.postloop = load double, double* %81, align 8 ; └ ; ┌ @ array.jl:1021 within `setindex!` %82 = getelementptr inbounds double, double* %arrayptr82100, i64 %80 store double %arrayref74.postloop, double* %82, align 8 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; ┌ @ int.jl:87 within `+` %83 = add nuw nsw i64 %value_phi57125.postloop, 1 br label %L204.postloop L204.postloop: ; preds = %idxend80.postloop, %idxend.postloop %value_phi83.postloop = phi i64 [ %83, %idxend80.postloop ], [ %value_phi57125.postloop, %idxend.postloop ] ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:877 ; ┌ @ int.jl:87 within `+` %84 = add nuw nsw i64 %value_phi58126.postloop, 1 ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; ┌ @ int.jl:514 within `<=` %.not98.postloop.not = icmp slt i64 %value_phi58126.postloop, %arraylen60 ; └ br i1 %.not98.postloop.not, label %L199.postloop, label %L211 } .text .file "vcompress!" .globl "japi1_vcompress!_5397" # -- Begin function japi1_vcompress!_5397 .p2align 4, 0x90 .type "japi1_vcompress!_5397",@function "japi1_vcompress!_5397": # @"japi1_vcompress!_5397" ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:860 within `vcompress!` # %bb.0: # %top push rbp mov rbp, rsp push r15 push r14 push r13 push r12 push rbx sub rsp, 120 vxorps xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP lea rcx, [rbp - 144] vmovaps xmmword ptr [rbp - 144], xmm0 mov qword ptr [rbp - 128], 0 mov qword ptr [rbp - 152], rsi mov r13, qword ptr [rax - 8] mov qword ptr [rbp - 144], 4 mov rax, qword ptr [r13] mov qword ptr [rbp - 136], rax mov qword ptr [r13], rcx mov rdi, qword ptr [rsi + 16] mov rax, qword ptr [rsi] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 ; │┌ @ abstractarray.jl:98 within `axes` ; ││┌ @ array.jl:191 within `size` mov r14, qword ptr [rdi + 8] ; │└└ ; │┌ @ tuple.jl:482 within `==` ; ││┌ @ tuple.jl:486 within `_eq` ; │││┌ @ range.jl:1134 within `==` @ promotion.jl:521 cmp qword ptr [rax + 8], r14 ; │└└└ jne .LBB0_62 # %bb.1: # %L27 mov r8, qword ptr [rsi + 8] ; │┌ @ tuple.jl:482 within `==` ; ││┌ @ tuple.jl:486 within `_eq` ; │││┌ @ range.jl:1134 within `==` @ promotion.jl:521 cmp r14, qword ptr [r8 + 8] ; │└└└ jne .LBB0_62 # %bb.2: # %L29 mov ebx, 1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:514 within `<=` cmp r14, 4 ; │└ jae .LBB0_21 # %bb.3: mov r12d, 1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; │┌ @ int.jl:514 within `<=` cmp r12, r14 ; │└ ja .LBB0_40 jmp .LBB0_6 .LBB0_21: # %L38.lr.ph add r14, -3 mov ebx, 1 xor esi, esi movabs r9, 9223372036854775805 mov qword ptr [rbp - 48], r13 # 8-byte Spill jmp .LBB0_22 .p2align 4, 0x90 .LBB0_36: # %else320 # in Loop: Header=BB0_22 Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:869 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:486 within `sum` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/simdvec.jl:476 within `reduce` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:881 within `reduce_add` ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:911 within `macro expansion` popcnt rbx, rdx ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:514 within `<=` add rsi, 5 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:869 ; │┌ @ int.jl:87 within `+` add rbx, rcx ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:514 within `<=` cmp rsi, r14 mov rsi, r12 ; │└ jg .LBB0_4 .LBB0_22: # %L38 # =>This Inner Loop Header: Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:389 within `eachindex` ; │││││┌ @ abstractarray.jl:137 within `axes1` ; ││││││┌ @ abstractarray.jl:98 within `axes` ; │││││││┌ @ array.jl:191 within `size` mov r10, qword ptr [r8 + 8] ; ││││└└└└ ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` lea r12, [rsi + 4] cmp r12, r10 ; ││││└ ; ││││ @ abstractarray.jl:702 within `checkbounds` ja .LBB0_57 # %bb.23: # %L60 # in Loop: Header=BB0_22 Depth=1 ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││││┌ @ abstractarray.jl:762 within `checkindex` ; ││││││┌ @ int.jl:513 within `<` cmp rsi, r10 ; │││││└└ ; │││││ @ abstractarray.jl:702 within `checkbounds` jae .LBB0_58 # %bb.24: # %L80 # in Loop: Header=BB0_22 Depth=1 ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:389 within `eachindex` ; │││││┌ @ abstractarray.jl:137 within `axes1` ; ││││││┌ @ abstractarray.jl:98 within `axes` ; │││││││┌ @ array.jl:191 within `size` mov r13, qword ptr [rdi + 8] ; ││││└└└└ ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` cmp r12, r13 ; ││││└ ; ││││ @ abstractarray.jl:702 within `checkbounds` ja .LBB0_59 # %bb.25: # %L112 # in Loop: Header=BB0_22 Depth=1 ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││││┌ @ abstractarray.jl:762 within `checkindex` ; ││││││┌ @ int.jl:513 within `<` cmp rsi, r13 ; │││││└└ ; │││││ @ abstractarray.jl:702 within `checkbounds` jae .LBB0_60 # %bb.26: # %L132 # in Loop: Header=BB0_22 Depth=1 ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:0 mov rdx, qword ptr [r8] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:191 within `size` mov r15, qword ptr [rax + 8] mov rcx, rbx ; ││└└└└└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:403 within `UnitRange` ; ││││┌ @ range.jl:414 within `unitrange_last` ; │││││┌ @ operators.jl:425 within `>=` ; ││││││┌ @ int.jl:514 within `<=` xor ebx, ebx cmp rcx, r9 setl bl ; │││││└└ lea r11, [rcx + 4*rbx - 1] ; ││└└└ ; ││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:767 within `checkindex` @ abstractarray.jl:762 ; ││││┌ @ int.jl:86 within `-` lea rbx, [rcx + 4*rbx - 2] ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:0 vmovd xmm1, dword ptr [rdx + rsi] # xmm1 = mem[0],zero,zero,zero ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:702 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:767 within `checkindex` @ abstractarray.jl:762 ; ││││┌ @ int.jl:86 within `-` lea rdx, [rcx - 1] ; ││││└ ; ││││┌ @ int.jl:513 within `<` cmp rdx, r15 setb dl cmp rbx, r15 setb bl ; ││││└ ; ││││ @ abstractarray.jl:767 within `checkindex` ; ││││┌ @ range.jl:672 within `isempty` ; │││││┌ @ operators.jl:378 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r11, rcx ; │││└└└└ ; │││ @ abstractarray.jl:702 within `checkbounds` jl .LBB0_28 # %bb.27: # %L132 # in Loop: Header=BB0_22 Depth=1 ; │││ @ abstractarray.jl within `checkbounds` and dl, bl ; │││ @ abstractarray.jl:702 within `checkbounds` je .LBB0_61 .LBB0_28: # %L174 # in Loop: Header=BB0_22 Depth=1 ; │└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ abstractarray.jl:1239 within `pointer` ; ││││┌ @ pointer.jl:65 within `unsafe_convert` mov rdx, qword ptr [rdi] ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; ││┌ @ abstractarray.jl:1239 within `pointer` ; │││┌ @ pointer.jl:65 within `unsafe_convert` mov rbx, qword ptr [rax] ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:112 within `vstorec` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:104 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:562 within `maskedcompressstore` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:579 within `macro expansion` vpmovzxbd xmm1, xmm1 # xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero vpslld xmm1, xmm1, 31 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 within `vload` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:49 @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:50 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:470 within `load` ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:479 within `macro expansion` vmovups ymm0, ymmword ptr [rdx + 8*rsi] ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; ││┌ @ abstractarray.jl:1239 within `pointer` ; │││┌ @ pointer.jl:282 within `+` lea rbx, [rbx + 8*rcx - 8] ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:112 within `vstorec` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:104 ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:562 within `maskedcompressstore` ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/LLVM_intrinsics.jl:579 within `macro expansion` vmovmskps edx, xmm1 test dl, 1 jne .LBB0_29 # %bb.30: # %else # in Loop: Header=BB0_22 Depth=1 test dl, 2 jne .LBB0_31 .LBB0_32: # %else314 # in Loop: Header=BB0_22 Depth=1 test dl, 4 jne .LBB0_33 .LBB0_34: # %else317 # in Loop: Header=BB0_22 Depth=1 test dl, 8 je .LBB0_36 jmp .LBB0_35 .p2align 4, 0x90 .LBB0_29: # %cond.store # in Loop: Header=BB0_22 Depth=1 vmovlps qword ptr [rbx], xmm0 add rbx, 8 test dl, 2 je .LBB0_32 .LBB0_31: # %cond.store313 # in Loop: Header=BB0_22 Depth=1 vmovhps qword ptr [rbx], xmm0 add rbx, 8 test dl, 4 je .LBB0_34 .LBB0_33: # %cond.store316 # in Loop: Header=BB0_22 Depth=1 vextractf128 xmm1, ymm0, 1 vmovlps qword ptr [rbx], xmm1 add rbx, 8 test dl, 8 je .LBB0_36 .LBB0_35: # %cond.store319 # in Loop: Header=BB0_22 Depth=1 vextractf128 xmm0, ymm0, 1 vmovhps qword ptr [rbx], xmm0 jmp .LBB0_36 .LBB0_4: # %L34.L192.preheader_crit_edge ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` lea rdx, [r12 - 3] ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:486 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:291 within `map` ; ││││││┌ @ range.jl:469 within `oneto` ; │││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 mov qword ptr [rbp - 64], r13 ; │└└└└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 112], rcx ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:486 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:291 within `map` ; ││││││┌ @ range.jl:469 within `oneto` ; │││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 mov qword ptr [rbp - 88], r10 ; │└└└└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 104], r11 mov r13, qword ptr [rbp - 48] # 8-byte Reload ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 inc r12 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 96], rdx ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 80], rdx ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 72], rdx ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 56], rdx ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; │┌ @ abstractarray.jl:426 within `lastindex` ; ││┌ @ abstractarray.jl:389 within `eachindex` ; │││┌ @ abstractarray.jl:137 within `axes1` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ array.jl:191 within `size` mov r14, qword ptr [rdi + 8] ; │└└└└└ ; │┌ @ int.jl:514 within `<=` cmp r12, r14 ; │└ ja .LBB0_40 .LBB0_6: # %L199.lr.ph mov r9, qword ptr [r8 + 8] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:13 within `getindex` lea rdx, [r12 - 1] cmp rdx, r9 jae .LBB0_42 # %bb.7: # %idxend.peel mov rsi, qword ptr [r8] mov r10, qword ptr [rax] mov r11, qword ptr [rax + 8] mov r15, qword ptr [rdi] test byte ptr [rsi + rdx], 1 ; │└ je .LBB0_11 # %bb.8: # %L201.peel ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:13 within `getindex` cmp rdx, r14 jae .LBB0_52 # %bb.9: # %idxend71.peel ; │└ ; │┌ @ array.jl:1021 within `setindex!` lea rdx, [rbx - 1] cmp rdx, r11 jae .LBB0_48 # %bb.10: # %idxend80.peel ; │└ ; │┌ @ essentials.jl:13 within `getindex` vmovsd xmm0, qword ptr [r15 + 8*r12 - 8] # xmm0 = mem[0],zero ; │└ ; │┌ @ array.jl:1021 within `setindex!` vmovsd qword ptr [r10 + 8*rbx - 8], xmm0 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; │┌ @ int.jl:87 within `+` inc rbx .LBB0_11: # %L204.peel ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; │┌ @ int.jl:514 within `<=` cmp r12, r14 ; │└ jae .LBB0_40 # %bb.12: # %L199.peel.next mov qword ptr [rbp - 48], r13 # 8-byte Spill lea r13, [r14 + 1] lea rdx, [r9 + 1] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:0 inc r12 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 cmp r13, rdx cmovl rdx, r13 cmp rdx, r12 cmovle rdx, r12 jg .LBB0_46 # %bb.13: mov r13, qword ptr [rbp - 48] # 8-byte Reload jmp .LBB0_14 .p2align 4, 0x90 .LBB0_38: # %L204 # in Loop: Header=BB0_46 Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:877 ; │┌ @ int.jl:87 within `+` inc r12 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 cmp r12, rdx jge .LBB0_39 .LBB0_46: # %idxend # =>This Inner Loop Header: Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:13 within `getindex` test byte ptr [rsi + r12 - 1], 1 ; │└ je .LBB0_38 # %bb.47: # %idxend71 # in Loop: Header=BB0_46 Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ array.jl:1021 within `setindex!` lea rcx, [rbx - 1] cmp rcx, r11 jae .LBB0_48 # %bb.37: # %idxend80 # in Loop: Header=BB0_46 Depth=1 ; │└ ; │┌ @ essentials.jl:13 within `getindex` vmovsd xmm0, qword ptr [r15 + 8*r12 - 8] # xmm0 = mem[0],zero ; │└ ; │┌ @ array.jl:1021 within `setindex!` vmovsd qword ptr [r10 + 8*rbx - 8], xmm0 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; │┌ @ int.jl:87 within `+` inc rbx jmp .LBB0_38 .LBB0_39: # %main.exit.selector ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 cmp r12, r13 mov r13, qword ptr [rbp - 48] # 8-byte Reload jge .LBB0_40 .LBB0_14: # %postloop dec r12 jmp .LBB0_15 .p2align 4, 0x90 .LBB0_20: # %L204.postloop # in Loop: Header=BB0_15 Depth=1 ; │┌ @ int.jl:514 within `<=` inc r12 cmp r12, r14 ; │└ jge .LBB0_40 .LBB0_15: # %L199.postloop # =>This Inner Loop Header: Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:13 within `getindex` cmp r12, r9 jae .LBB0_41 # %bb.16: # %idxend.postloop # in Loop: Header=BB0_15 Depth=1 test byte ptr [rsi + r12], 1 ; │└ je .LBB0_20 # %bb.17: # %L201.postloop # in Loop: Header=BB0_15 Depth=1 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:13 within `getindex` cmp r12, r14 jae .LBB0_51 # %bb.18: # %idxend71.postloop # in Loop: Header=BB0_15 Depth=1 ; │└ ; │┌ @ array.jl:1021 within `setindex!` lea rcx, [rbx - 1] cmp rcx, r11 jae .LBB0_48 # %bb.19: # %idxend80.postloop # in Loop: Header=BB0_15 Depth=1 ; │└ ; │┌ @ essentials.jl:13 within `getindex` vmovsd xmm0, qword ptr [r15 + 8*r12] # xmm0 = mem[0],zero ; │└ ; │┌ @ array.jl:1021 within `setindex!` vmovsd qword ptr [r10 + 8*rbx - 8], xmm0 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:875 ; │┌ @ int.jl:87 within `+` inc rbx jmp .LBB0_20 .LBB0_40: # %L211 mov rcx, qword ptr [rbp - 136] mov qword ptr [r13], rcx ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:879 lea rsp, [rbp - 40] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp vzeroupper ret .LBB0_57: # %L56 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:867 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` inc rsi ; ││││ @ abstractarray.jl:702 within `checkbounds` movabs rax, offset j_throw_boundserror_5405 mov rdi, r8 ; ││││ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 96], rsi lea rsi, [rbp - 96] ; ││││ @ abstractarray.jl:702 within `checkbounds` vzeroupper call rax .LBB0_58: # %L76 ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` inc rsi ; │││││ @ abstractarray.jl:702 within `checkbounds` movabs rax, offset j_throw_boundserror_5403 lea rdi, [rbp - 88] ; │││└└ ; │││┌ @ indices.jl:486 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:291 within `map` ; ││││││┌ @ range.jl:469 within `oneto` ; │││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 mov qword ptr [rbp - 88], r10 ; │││└└└└└ ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 80], rsi lea rsi, [rbp - 80] ; │││││ @ abstractarray.jl:702 within `checkbounds` vzeroupper call rax .LBB0_59: # %L108 ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:868 ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:301 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:276 within `_preprocessindices` ; │││┌ @ abstractarray.jl:700 within `checkbounds` inc rsi ; ││││ @ abstractarray.jl:702 within `checkbounds` movabs rax, offset j_throw_boundserror_5404 ; ││││ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 72], rsi lea rsi, [rbp - 72] ; ││││ @ abstractarray.jl:702 within `checkbounds` vzeroupper call rax .LBB0_60: # %L128 ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:302 within `getindex` ; ││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:286 within `_pointer` ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` inc rsi ; │││││ @ abstractarray.jl:702 within `checkbounds` movabs rax, offset j_throw_boundserror_5403 lea rdi, [rbp - 64] ; │││└└ ; │││┌ @ indices.jl:486 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:291 within `map` ; ││││││┌ @ range.jl:469 within `oneto` ; │││││││┌ @ range.jl:467 within `OneTo` @ range.jl:454 mov qword ptr [rbp - 64], r13 ; │││└└└└└ ; │││┌ @ indices.jl:510 within `getindex` ; ││││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 56], rsi lea rsi, [rbp - 56] ; │││││ @ abstractarray.jl:702 within `checkbounds` vzeroupper call rax .LBB0_61: # %L171 ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 112], rcx ; │││ @ abstractarray.jl:702 within `checkbounds` movabs rcx, offset j_throw_boundserror_5402 lea rsi, [rbp - 112] mov rdi, rax ; │││ @ abstractarray.jl:700 within `checkbounds` mov qword ptr [rbp - 104], r11 ; │││ @ abstractarray.jl:702 within `checkbounds` vzeroupper call rcx .LBB0_41: # %oob.loopexit ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:13 within `getindex` inc r12 .LBB0_42: # %oob mov rsi, rsp mov eax, 16 sub rsi, rax cmp rsi, rsp jge .LBB0_45 .LBB0_44: # %oob # =>This Inner Loop Header: Depth=1 xor qword ptr [rsp], 0 sub rsp, 4096 cmp rsi, rsp jl .LBB0_44 .LBB0_45: # %oob mov rsp, rsi movabs rax, offset ijl_bounds_error_ints mov edx, 1 mov rdi, r8 mov qword ptr [rsi], r12 vzeroupper call rax .LBB0_48: # %oob78 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ array.jl:1021 within `setindex!` mov rsi, rsp mov ecx, 16 sub rsi, rcx cmp rsi, rsp jge .LBB0_56 .LBB0_50: # %oob78 # =>This Inner Loop Header: Depth=1 xor qword ptr [rsp], 0 sub rsp, 4096 cmp rsi, rsp jl .LBB0_50 .LBB0_56: # %oob78 mov rsp, rsi movabs rcx, offset ijl_bounds_error_ints mov edx, 1 mov rdi, rax mov qword ptr [rsi], rbx vzeroupper call rcx .LBB0_51: # %oob69.loopexit ; │└ ; │┌ @ essentials.jl:13 within `getindex` inc r12 .LBB0_52: # %oob69 mov rsi, rsp mov eax, 16 sub rsi, rax cmp rsi, rsp jge .LBB0_55 .LBB0_54: # %oob69 # =>This Inner Loop Header: Depth=1 xor qword ptr [rsp], 0 sub rsp, 4096 cmp rsi, rsp jl .LBB0_54 .LBB0_55: # %oob69 mov rsp, rsi movabs rax, offset ijl_bounds_error_ints mov edx, 1 mov qword ptr [rsi], r12 vzeroupper call rax .LBB0_62: # %L208 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 movabs rax, offset j_AssertionError_5406 movabs rdi, 136809403974608 call rax mov qword ptr [rbp - 128], rax mov r14, rax movabs rax, offset ijl_gc_pool_alloc mov esi, 752 mov edx, 16 mov rdi, qword ptr [r13 + 16] call rax movabs rcx, 136809200121344 mov rdi, rax mov qword ptr [rax - 8], rcx movabs rcx, offset ijl_throw mov qword ptr [rax], r14 call rcx .Lfunc_end0: .size "japi1_vcompress!_5397", .Lfunc_end0-"japi1_vcompress!_5397" ; └ # -- End function .section ".note.GNU-stack","",@progbits Test Summary: | Pass Total Time Real-world examples | 17 17 2.2s Test Summary: | Pass Total Time Vector shuffles | 222 222 1.9s Test Summary: | Pass Total Time Contiguous ReinterpretArrays load/store | 6 6 1.0s Test Summary: | Pass Total Time funnel shift | 6 6 0.0s Test Summary: | Pass Total Time fastmath min | 2 2 0.0s Testing SIMD tests passed Testing completed after 56.7s PkgEval succeeded after 81.73s