Package evaluation of SIMD on Julia 1.11.4 (a71dd056e0*) started at 2025-04-08T07:41:46.306 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.83s ################################################################################ # Installation # Installing SIMD... Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [fdea26ae] + SIMD v3.7.1 Updating `~/.julia/environments/v1.11/Manifest.toml` ⌅ [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.4.3 [fdea26ae] + SIMD v3.7.1 [ade2ca70] + Dates v1.11.0 [de0858da] + Printf v1.11.0 [fa267f1f] + TOML v1.0.3 [4ec0a83e] + Unicode v1.11.0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 1.41s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 11.33s ################################################################################ # Testing # Testing SIMD Status `/tmp/jl_zgsMyZ/Project.toml` [fdea26ae] SIMD v3.7.1 [b77e0a4c] InteractiveUtils v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_zgsMyZ/Manifest.toml` ⌅ [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.4.3 [fdea26ae] SIMD v3.7.1 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [4ec0a83e] Unicode v1.11.0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Test Summary: | Pass Total Time Type properties | 10 10 0.1s Test Summary: | Pass Total Time Errors | 2 2 0.4s Test Summary: | Pass Total Time Type conversion | 8 8 1.1s Test Summary: | Pass Total Time Conversion and reinterpretation | 4 4 0.5s Test Summary: | Pass Total Time Element-wise access | 22 22 0.4s Test Summary: | Pass Total Time Integer arithmetic functions | 116 116 4.6s Test Summary: | Pass Total Time bswap | 6 6 0.6s Test Summary: | Pass Total Time saturation | 4 4 0.3s Test Summary: | Pass Total Time overflow arithmetic | 24 24 3.4s Test Summary: | Pass Total Time Floating point arithmetic functions | 106 106 3.4s Test Summary: | Pass Total Time Type promotion | 88 88 0.9s Test Summary: | Pass Total Time Reduction operations | 19 19 0.2s 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.5s Test Summary: | Pass Total Time fastmath | 6 6 0.3s Test Summary: | Pass Total Time Gather and scatter function | 120 120 7.1s Test Summary: | Pass Total Time expandload | 10 10 0.2s Test Summary: | Pass Total Time compressstore | 10 10 0.6s Test Summary: | Pass Total Time Index-based load/store | 104 104 6.6s ; Function Signature: vsum(Base.SubArray{Float64, 1, Array{Float64, 1}, Tuple{Base.UnitRange{Int64}}, true}, Type{SIMD.Vec{4, Float64}}) ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:787 within `vsum` define double @julia_vsum_20552(ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %"xs::SubArray") #0 { top: %gcframe1 = alloca [3 x ptr], align 16 call void @llvm.memset.p0.i64(ptr align 16 %gcframe1, i8 0, i64 24, i1 true) %"new::Tuple" = alloca [1 x [1 x i64]], align 8 %thread_ptr = call ptr asm "movq %fs:0, $0", "=r"() #13 %tls_ppgcstack = getelementptr i8, ptr %thread_ptr, i64 -8 %tls_pgcstack = load ptr, ptr %tls_ppgcstack, align 8 store i64 4, ptr %gcframe1, align 16 %frame.prev = getelementptr inbounds ptr, ptr %gcframe1, i64 1 %task.gcstack = load ptr, ptr %tls_pgcstack, align 8 store ptr %task.gcstack, ptr %frame.prev, align 8 store ptr %gcframe1, ptr %tls_pgcstack, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` ; ┌ @ abstractarray.jl:315 within `length` ; │┌ @ subarray.jl:65 within `size` ; ││┌ @ subarray.jl:504 within `axes` ; │││┌ @ Base.jl:49 within `getproperty` %"xs::SubArray.indices_ptr" = getelementptr inbounds { ptr, [1 x [2 x i64]], i64, i64 }, ptr %"xs::SubArray", i64 0, i32 1 ; │││└ ; │││┌ @ subarray.jl:509 within `_indices_sub` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ range.jl:676 within `size` ; ││││││┌ @ range.jl:765 within `length` ; │││││││┌ @ range.jl:846 within `last` ; ││││││││┌ @ Base.jl:49 within `getproperty` %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr" = getelementptr inbounds { ptr, [1 x [2 x i64]], i64, i64 }, ptr %"xs::SubArray", i64 0, i32 1, i64 0, i64 1 ; │││││││└└ ; │││││││ @ range.jl:768 within `length` ; │││││││┌ @ int.jl:86 within `-` %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr.unbox" = load i64, ptr %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr", align 8 %"xs::SubArray.indices_ptr[1]_ptr.start_ptr.unbox" = load i64, ptr %"xs::SubArray.indices_ptr", align 8 %0 = add i64 %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr.unbox", 1 ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` %1 = sub i64 %0, %"xs::SubArray.indices_ptr[1]_ptr.start_ptr.unbox" ; └└└└└└└└ ; ┌ @ promotion.jl:639 within `==` %2 = and i64 %1, 3 %.not = icmp eq i64 %2, 0 ; └ br i1 %.not, label %L10, label %L127 L10: ; preds = %top ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; ┌ @ abstractarray.jl:315 within `length` ; │┌ @ subarray.jl:65 within `size` ; ││┌ @ subarray.jl:504 within `axes` ; │││┌ @ subarray.jl:509 within `_indices_sub` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ range.jl:676 within `size` ; ││││││┌ @ range.jl:768 within `length` ; │││││││┌ @ int.jl:86 within `-` %3 = sub i64 %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr.unbox", %"xs::SubArray.indices_ptr[1]_ptr.start_ptr.unbox" ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` %4 = add i64 %3, 1 ; └└└└└└└└ ; ┌ @ range.jl:22 within `Colon` ; │┌ @ range.jl:24 within `_colon` ; ││┌ @ range.jl:384 within `StepRange` @ range.jl:329 ; │││┌ @ range.jl:344 within `steprange_last` ; ││││┌ @ promotion.jl:639 within `==` %.not78 = icmp eq i64 %"xs::SubArray.indices_ptr[1]_ptr.stop_ptr.unbox", %"xs::SubArray.indices_ptr[1]_ptr.start_ptr.unbox" ; ││││└ br i1 %.not78, label %L55, label %L22 L22: ; preds = %L10 ; ││││ @ range.jl:347 within `steprange_last` ; ││││┌ @ operators.jl:379 within `>` ; │││││┌ @ int.jl:83 within `<` %5 = icmp sgt i64 %4, 1 ; ││││└└ br i1 %5, label %L42, label %L124 L42: ; preds = %L22 ; ││││ @ range.jl:360 within `steprange_last` ; ││││┌ @ int.jl:302 within `rem` %6 = and i64 %3, 3 ; ││││└ ; ││││ @ range.jl:363 within `steprange_last` %value_phi64 = sub i64 %4, %6 br label %L55 L55: ; preds = %L42, %L10 %value_phi = phi i64 [ %value_phi64, %L42 ], [ %4, %L10 ] ; └└└└ ; ┌ @ range.jl:904 within `iterate` ; │┌ @ range.jl:678 within `isempty` ; ││┌ @ bool.jl:38 within `&` %7 = icmp slt i64 %value_phi, 1 ; └└└ br i1 %7, label %L124, label %L69.preheader L69.preheader: ; preds = %L55 %"xs::SubArray.parent" = load atomic ptr, ptr %"xs::SubArray" unordered, align 8 %"xs::SubArray.offset1_ptr" = getelementptr inbounds { ptr, [1 x [2 x i64]], i64, i64 }, ptr %"xs::SubArray", i64 0, i32 2 %"xs::SubArray.offset1_ptr.unbox" = load i64, ptr %"xs::SubArray.offset1_ptr", 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:699 within `checkbounds` br label %L69 L69: ; preds = %L98, %L69.preheader %value_phi19 = phi i64 [ %17, %L98 ], [ 1, %L69.preheader ] %value_phi21 = phi <4 x double> [ %16, %L98 ], [ zeroinitializer, %L69.preheader ] ; │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %8 = icmp slt i64 %value_phi19, 1 ; ││││└ %9 = add nuw i64 %value_phi19, 3 %10 = icmp sgt i64 %9, %1 ; │││└ ; │││ @ abstractarray.jl:699 within `checkbounds` %narrow.not = select i1 %8, i1 true, i1 %10 br i1 %narrow.not, label %L94, label %L98 L94: ; preds = %L69 ; │││ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi19, ptr %"new::Tuple", align 8 ; │││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_20575(ptr nocapture nonnull readonly %"xs::SubArray", ptr nocapture nonnull readonly %"new::Tuple") #4 unreachable L98: ; preds = %L69 ; │└└ ; │ @ /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:490 within `pointer` ; │││┌ @ int.jl:87 within `+` %11 = add i64 %"xs::SubArray.offset1_ptr.unbox", %value_phi19 ; │││└ ; │││ @ subarray.jl:490 within `pointer` @ abstractarray.jl:1232 @ abstractarray.jl:1229 ; │││┌ @ pointer.jl:65 within `cconvert` %12 = load ptr, ptr %"xs::SubArray.parent", align 8 ; │││└ ; │││ @ subarray.jl:490 within `pointer` @ abstractarray.jl:1232 ; │││┌ @ abstractarray.jl:1236 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %13 = shl i64 %11, 3 %14 = add i64 %13, -8 ; │││└└ ; │││┌ @ pointer.jl:316 within `+` %15 = getelementptr i8, ptr %12, i64 %14 ; │└└└ ; │┌ @ /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` %res.i = load <4 x double>, ptr %15, 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` %16 = fadd <4 x double> %value_phi21, %res.i ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; ┌ @ range.jl:908 within `iterate` ; │┌ @ promotion.jl:639 within `==` %.not81.not = icmp eq i64 %value_phi19, %value_phi ; │└ %17 = add nuw i64 %value_phi19, 4 ; └ br i1 %.not81.not, label %L124, label %L69 L124: ; preds = %L98, %L55, %L22 %value_phi50 = phi <4 x double> [ zeroinitializer, %L55 ], [ zeroinitializer, %L22 ], [ %16, %L98 ] ; @ /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` %res.i77 = call reassoc double @llvm.vector.reduce.fadd.v4f64(double 0.000000e+00, <4 x double> %value_phi50) %frame.prev91 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev91, ptr %tls_pgcstack, align 8 ret double %res.i77 L127: ; preds = %top ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` %18 = call [1 x ptr] @j_AssertionError_20578(ptr nonnull @"jl_global#20579.jit") %gc_slot_addr_0 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 %19 = extractvalue [1 x ptr] %18, 0 store ptr %19, ptr %gc_slot_addr_0, align 16 %ptls_field = getelementptr inbounds ptr, ptr %tls_pgcstack, i64 2 %ptls_load = load ptr, ptr %ptls_field, align 8 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(16) ptr @ijl_gc_pool_alloc_instrumented(ptr %ptls_load, i32 800, i32 16, i64 135721472755232) #10 %"box::AssertionError.tag_addr" = getelementptr inbounds i64, ptr %"box::AssertionError", i64 -1 store atomic i64 135721472755232, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %19, ptr %"box::AssertionError", align 8 call void @ijl_throw(ptr nonnull %"box::AssertionError") unreachable } .text .file "vsum" .globl julia_vsum_20619 # -- Begin function julia_vsum_20619 .p2align 4, 0x90 .type julia_vsum_20619,@function julia_vsum_20619: # @julia_vsum_20619 ; Function Signature: vsum(Base.SubArray{Float64, 1, Array{Float64, 1}, Tuple{Base.UnitRange{Int64}}, true}, Type{SIMD.Vec{4, Float64}}) ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:787 within `vsum` # %bb.0: # %top #DEBUG_VALUE: vsum:xs <- [DW_OP_deref] [$rdi+0] push rbp mov rbp, rsp push r14 push rbx sub rsp, 48 vxorpd xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP vmovapd xmmword ptr [rbp - 48], xmm0 mov qword ptr [rbp - 32], 0 mov r14, qword ptr [rax - 8] mov qword ptr [rbp - 48], 4 mov rax, qword ptr [r14] mov qword ptr [rbp - 40], rax lea rax, [rbp - 48] mov qword ptr [r14], rax ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` ; │┌ @ abstractarray.jl:315 within `length` ; ││┌ @ subarray.jl:65 within `size` ; │││┌ @ subarray.jl:504 within `axes` ; ││││┌ @ subarray.jl:509 within `_indices_sub` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ range.jl:676 within `size` ; │││││││┌ @ range.jl:768 within `length` ; ││││││││┌ @ int.jl:86 within `-` mov rcx, qword ptr [rdi + 16] mov rdx, qword ptr [rdi + 8] ; ││││││││└ ; ││││││││┌ @ int.jl:87 within `+` mov rax, rcx sub rax, rdx inc rax ; │└└└└└└└└ ; │┌ @ promotion.jl:639 within `==` test al, 3 ; │└ jne .LBB0_11 # %bb.1: # %L10 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; │┌ @ range.jl:22 within `Colon` ; ││┌ @ range.jl:24 within `_colon` ; │││┌ @ range.jl:384 within `StepRange` @ range.jl:329 ; ││││┌ @ range.jl:344 within `steprange_last` ; │││││┌ @ promotion.jl:639 within `==` sub rcx, rdx ; │└└└└└ ; │┌ @ abstractarray.jl:315 within `length` ; ││┌ @ subarray.jl:65 within `size` ; │││┌ @ subarray.jl:504 within `axes` ; ││││┌ @ subarray.jl:509 within `_indices_sub` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ range.jl:676 within `size` ; │││││││┌ @ range.jl:768 within `length` ; ││││││││┌ @ int.jl:87 within `+` lea r8, [rcx + 1] ; │└└└└└└└└ ; │┌ @ range.jl:22 within `Colon` ; ││┌ @ range.jl:24 within `_colon` ; │││┌ @ range.jl:384 within `StepRange` @ range.jl:329 ; ││││┌ @ range.jl:344 within `steprange_last` je .LBB0_4 # %bb.2: # %L22 vxorpd xmm0, xmm0, xmm0 ; │││││ @ range.jl:347 within `steprange_last` ; │││││┌ @ operators.jl:379 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r8, 2 ; │││││└└ jl .LBB0_10 # %bb.3: # %L42 ; │││││ @ range.jl:360 within `steprange_last` ; │││││┌ @ int.jl:302 within `rem` and ecx, 3 ; │││││└ ; │││││ @ range.jl:363 within `steprange_last` sub r8, rcx .LBB0_4: # %L55 ; │└└└└ ; │┌ @ range.jl:904 within `iterate` ; ││┌ @ range.jl:678 within `isempty` ; │││┌ @ bool.jl:38 within `&` test r8, r8 ; │└└└ jle .LBB0_5 # %bb.6: # %L69.preheader mov rdx, qword ptr [rdi + 24] mov rcx, qword ptr [rdi] mov rsi, -3 vxorpd xmm0, xmm0, xmm0 ; │ @ /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:699 within `checkbounds` sub rsi, r8 mov r8d, 4 shl rdx, 3 .p2align 4, 0x90 .LBB0_7: # %L69 # =>This Inner Loop Header: Depth=1 ; ││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:520 within `<=` lea r9, [r8 - 3] test r9, r9 ; ││││└└ ; ││││ @ abstractarray.jl:699 within `checkbounds` jle .LBB0_12 # %bb.8: # %L69 # in Loop: Header=BB0_7 Depth=1 cmp r8, rax jg .LBB0_12 # %bb.9: # %L98 # in Loop: Header=BB0_7 Depth=1 mov r9, 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 r9, 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 ymm0, ymm0, ymmword ptr [r9 + 8*r8 - 32] ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; │┌ @ range.jl:908 within `iterate` ; ││┌ @ promotion.jl:639 within `==` lea r9, [rsi + r8 + 4] add r8, 4 cmp r9, 4 ; │└└ jne .LBB0_7 jmp .LBB0_10 .LBB0_5: vxorpd xmm0, xmm0, xmm0 .LBB0_10: # %L124 ; │ @ /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 xmm1, ymm0, 1 mov rax, qword ptr [rbp - 40] vaddpd xmm0, xmm0, xmm1 vpermilpd xmm1, xmm0, 1 # xmm1 = xmm0[1,0] mov qword ptr [r14], rax vaddsd xmm0, xmm0, xmm1 vxorpd xmm1, xmm1, xmm1 vaddsd xmm0, xmm0, xmm1 add rsp, 48 pop rbx pop r14 pop rbp vzeroupper ret .LBB0_12: # %L94 ; │└└└ ; │ @ /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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_20642 lea rsi, [rbp - 56] ; ││││ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 56], r9 ; ││││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_11: # %L127 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` movabs rdi, offset ".Ljl_global#20646.jit" movabs rax, offset j_AssertionError_20645 call rax mov qword ptr [rbp - 32], rax mov rbx, rax movabs rax, offset ijl_gc_pool_alloc_instrumented mov esi, 800 mov edx, 16 mov rdi, qword ptr [r14 + 16] movabs r14, 135721472755232 mov rcx, r14 call rax movabs rcx, offset ijl_throw mov rdi, rax mov qword ptr [rax - 8], r14 mov qword ptr [rax], rbx call rcx .Lfunc_end0: .size julia_vsum_20619, .Lfunc_end0-julia_vsum_20619 ; └ # -- End function .type ".L+Core.Float64#20621",@object # @"+Core.Float64#20621" .section .rodata,"a",@progbits .p2align 3, 0x0 ".L+Core.Float64#20621": .quad ".L+Core.Float64#20621.jit" .size ".L+Core.Float64#20621", 8 .set ".Ljl_global#20646.jit", 135721300595344 .size ".Ljl_global#20646.jit", 8 .set ".L+Core.AssertionError#20648.jit", 135721472755232 .size ".L+Core.AssertionError#20648.jit", 8 .set ".L+Core.Float64#20621.jit", 135721527794096 .size ".L+Core.Float64#20621.jit", 8 .section ".note.GNU-stack","",@progbits ; Function Signature: vcompress!(Array{Float64, 1}, Array{Bool, 1}, Array{Float64, 1}) ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:860 within `vcompress!` define nonnull ptr @"japi1_vcompress!_21034"(ptr %"function::Core.Function", ptr noalias nocapture noundef readonly %"args::Any[]", i32 %"nargs::UInt32") #0 { top: %gcframe1 = alloca [3 x ptr], align 16 call void @llvm.memset.p0.i64(ptr align 16 %gcframe1, i8 0, i64 24, i1 true) %stackargs = alloca ptr, align 8 store volatile ptr %"args::Any[]", ptr %stackargs, align 8 %"new::Tuple" = alloca [1 x [1 x i64]], align 8 %"new::LinearIndices" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple34" = alloca [1 x i64], align 8 %"new::Tuple47" = alloca [1 x [1 x i64]], align 8 %"new::LinearIndices61" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple63" = alloca [1 x i64], align 8 %"new::Tuple87" = alloca [1 x [2 x i64]], align 8 %"new::Tuple195" = alloca [1 x i64], align 8 %"new::Tuple199" = alloca [1 x i64], align 8 %"new::Tuple203" = alloca [1 x i64], align 8 %thread_ptr = call ptr asm "movq %fs:0, $0", "=r"() #17 %tls_ppgcstack = getelementptr i8, ptr %thread_ptr, i64 -8 %tls_pgcstack = load ptr, ptr %tls_ppgcstack, align 8 store i64 4, ptr %gcframe1, align 16 %frame.prev = getelementptr inbounds ptr, ptr %gcframe1, i64 1 %task.gcstack = load ptr, ptr %tls_pgcstack, align 8 store ptr %task.gcstack, ptr %frame.prev, align 8 store ptr %gcframe1, ptr %tls_pgcstack, align 8 %0 = load ptr, ptr %"args::Any[]", align 8 %1 = getelementptr inbounds ptr, ptr %"args::Any[]", i64 1 %2 = load ptr, ptr %1, align 8 %3 = getelementptr inbounds ptr, ptr %"args::Any[]", i64 2 %4 = load ptr, ptr %3, 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:194 within `size` %5 = getelementptr inbounds i8, ptr %4, i64 16 %.size.sroa.0.0.copyload = load i64, ptr %5, align 8 %6 = getelementptr inbounds i8, ptr %0, i64 16 %.size3.sroa.0.0.copyload = load i64, ptr %6, align 8 ; └└ ; ┌ @ tuple.jl:547 within `==` ; │┌ @ tuple.jl:551 within `_eq` ; ││┌ @ range.jl:1121 within `==` @ promotion.jl:639 %.not.not = icmp eq i64 %.size3.sroa.0.0.copyload, %.size.sroa.0.0.copyload ; └└└ br i1 %.not.not, label %L27, label %L266 L27: ; preds = %top ; ┌ @ abstractarray.jl:98 within `axes` ; │┌ @ array.jl:194 within `size` %7 = getelementptr inbounds i8, ptr %2, i64 16 %.size7.sroa.0.0.copyload = load i64, ptr %7, align 8 ; └└ ; ┌ @ tuple.jl:547 within `==` ; │┌ @ tuple.jl:551 within `_eq` ; ││┌ @ range.jl:1121 within `==` @ promotion.jl:639 %.not = icmp eq i64 %.size.sroa.0.0.copyload, %.size7.sroa.0.0.copyload ; └└└ br i1 %.not, label %L29, label %L266 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 `+` %8 = add i64 %.size.sroa.0.0.copyload, -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:520 within `<=` %.not216293 = icmp slt i64 %8, 1 ; └ br i1 %.not216293, label %L199.preheader, label %L38 L34.L199.preheader_crit_edge: ; preds = %L179 ; @ /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:194 within `size` %.size132.sroa.0.0.copyload297.pre = load i64, ptr %5, 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 %L199.preheader L199.preheader: ; preds = %L34.L199.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:194 within `size` %.size132.sroa.0.0.copyload = phi i64 [ %.size132.sroa.0.0.copyload297.pre, %L34.L199.preheader_crit_edge ], [ %.size.sroa.0.0.copyload, %L29 ] %value_phi17.lcssa = phi i64 [ %79, %L34.L199.preheader_crit_edge ], [ 1, %L29 ] %value_phi18.lcssa = phi i64 [ %80, %L34.L199.preheader_crit_edge ], [ 1, %L29 ] ; └└└└└ ; ┌ @ int.jl:520 within `<=` %.not220298 = icmp sgt i64 %value_phi18.lcssa, %.size132.sroa.0.0.copyload ; └ br i1 %.not220298, label %L269, label %L208.lr.ph L208.lr.ph: ; preds = %L199.preheader %.size139.sroa.0.0.copyload = load i64, ptr %7, align 8 %9 = load ptr, ptr %2, align 8 %10 = getelementptr inbounds { ptr, ptr }, ptr %2, i64 0, i32 1 %11 = load ptr, ptr %10, align 8 %12 = load ptr, ptr %4, align 8 %13 = getelementptr inbounds { ptr, ptr }, ptr %4, i64 0, i32 1 %14 = load ptr, ptr %13, align 8 %.data_ptr162 = getelementptr inbounds { i64, ptr }, ptr %14, i64 0, i32 1 %.size174.sroa.0.0.copyload = load i64, ptr %6, align 8 %15 = load ptr, ptr %0, align 8 %16 = getelementptr inbounds { ptr, ptr }, ptr %0, i64 0, i32 1 %17 = load ptr, ptr %16, align 8 %.data_ptr182 = getelementptr inbounds { i64, ptr }, ptr %17, i64 0, i32 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:916 within `getindex` %18 = add i64 %value_phi18.lcssa, -1 %.not221.peel = icmp ult i64 %18, %.size139.sroa.0.0.copyload br i1 %.not221.peel, label %L220.peel, label %L217 L220.peel: ; preds = %L208.lr.ph %.data_ptr = getelementptr inbounds { i64, ptr }, ptr %11, i64 0, i32 1 ; │ @ essentials.jl:917 within `getindex` %19 = load i64, ptr %11, align 8 %20 = shl nuw i64 %19, 1 %21 = add i64 %19, %18 %.not222.peel = icmp ult i64 %21, %20 %22 = getelementptr inbounds i8, ptr %9, i64 %18 %23 = load ptr, ptr %.data_ptr, align 8 %24 = ptrtoint ptr %23 to i64 %25 = ptrtoint ptr %22 to i64 %26 = sub i64 %25, %24 %27 = icmp ult i64 %26, %19 %28 = and i1 %.not222.peel, %27 br i1 %28, label %load.peel, label %oob load.peel: ; preds = %L220.peel %29 = load i8, ptr %22, align 1 %30 = and i8 %29, 1 %.not225.peel = icmp eq i8 %30, 0 ; └ br i1 %.not225.peel, label %L262.peel, label %L227.peel L227.peel: ; preds = %load.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:916 within `getindex` %.not226.peel = icmp ult i64 %18, %.size132.sroa.0.0.copyload br i1 %.not226.peel, label %L239.peel, label %L236 L239.peel: ; preds = %L227.peel ; │ @ essentials.jl:917 within `getindex` %31 = load i64, ptr %14, align 8 %32 = shl nuw nsw i64 %31, 1 %33 = add nuw i64 %31, %18 %.not227.peel = icmp ult i64 %33, %32 %34 = getelementptr inbounds double, ptr %12, i64 %18 %35 = load ptr, ptr %.data_ptr162, align 8 %36 = ptrtoint ptr %35 to i64 %37 = ptrtoint ptr %34 to i64 %38 = sub i64 %37, %36 %39 = shl nuw nsw i64 %31, 3 %40 = icmp ult i64 %38, %39 %41 = and i1 %.not227.peel, %40 br i1 %41, label %idxend167.peel, label %oob163 idxend167.peel: ; preds = %L239.peel %42 = icmp eq i64 %31, 0 br i1 %42, label %oob169, label %load170.peel load170.peel: ; preds = %idxend167.peel %43 = load double, ptr %34, align 8 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ int.jl:86 within `-` %44 = add i64 %value_phi17.lcssa, -1 ; │└ ; │┌ @ int.jl:519 within `<` %.not230.peel = icmp ult i64 %44, %.size174.sroa.0.0.copyload ; │└ br i1 %.not230.peel, label %L257.peel, label %L254 L257.peel: ; preds = %load170.peel ; │ @ array.jl:987 within `setindex!` %45 = load i64, ptr %17, align 8 %46 = shl nuw nsw i64 %45, 1 %47 = add i64 %45, %44 %.not231.peel = icmp ult i64 %47, %46 %48 = getelementptr inbounds double, ptr %15, i64 %44 %49 = load ptr, ptr %.data_ptr182, align 8 %50 = ptrtoint ptr %49 to i64 %51 = ptrtoint ptr %48 to i64 %52 = sub i64 %51, %50 %53 = shl nuw nsw i64 %45, 3 %54 = icmp ult i64 %52, %53 %55 = and i1 %.not231.peel, %54 br i1 %55, label %idxend188.peel, label %oob183 idxend188.peel: ; preds = %L257.peel %56 = icmp eq i64 %45, 0 br i1 %56, label %oob189, label %load190.peel load190.peel: ; preds = %idxend188.peel store double %43, ptr %48, 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 `+` %57 = add i64 %value_phi17.lcssa, 1 br label %L262.peel L262.peel: ; preds = %load190.peel, %load.peel %value_phi192.peel = phi i64 [ %57, %load190.peel ], [ %value_phi17.lcssa, %load.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 `+` %58 = add nuw i64 %value_phi18.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:520 within `<=` %.not220.peel = icmp sgt i64 %58, %.size132.sroa.0.0.copyload ; └ br i1 %.not220.peel, label %L269, label %L208 L38: ; preds = %L179, %L29 %value_phi18295 = phi i64 [ %80, %L179 ], [ 1, %L29 ] %value_phi17294 = phi i64 [ %79, %L179 ], [ 1, %L29 ] ; @ /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:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %59 = icmp slt i64 %value_phi18295, 1 ; ││││└ br i1 %59, label %L57, label %L55 L55: ; preds = %L38 ; │││└ ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` %.size21.sroa.0.0.copyload = load i64, ptr %7, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:219 within `last` ; │││││┌ @ int.jl:86 within `-` %60 = add nuw i64 %value_phi18295, 3 ; ││││└└ ; ││││┌ @ int.jl:520 within `<=` %.not408 = icmp sgt i64 %60, %.size21.sroa.0.0.copyload ; │││└└ ; │││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not408, label %L57, label %L61 L57: ; preds = %L55, %L38 %value_phi18295.lcssa = phi i64 [ -9223372036854775807, %L38 ], [ %value_phi18295, %L55 ] ; │││ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi18295.lcssa, ptr %"new::Tuple", align 8 ; │││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_21061(ptr nonnull %2, ptr nocapture nonnull readonly %"new::Tuple") #7 unreachable L61: ; preds = %L55 ; │└└ ; │ @ /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:518 within `getindex` ; │││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ abstractarray.jl:754 within `checkindex` ; │││││┌ @ int.jl:86 within `-` %61 = add nsw i64 %value_phi18295, -1 ; │││││└ ; │││││┌ @ int.jl:519 within `<` %.not217 = icmp ult i64 %61, %.size21.sroa.0.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not217, label %L109, label %L76 L76: ; preds = %L61 ; ││└└ ; ││┌ @ indices.jl:494 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:355 within `map` ; │││││┌ @ range.jl:472 within `unchecked_oneto` store i64 %.size21.sroa.0.0.copyload, ptr %"new::LinearIndices", align 8 ; ││└└└└ ; ││┌ @ indices.jl:518 within `getindex` ; │││┌ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi18295, ptr %"new::Tuple34", align 8 ; ││││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_21059(ptr nocapture nonnull readonly %"new::LinearIndices", ptr nocapture nonnull readonly %"new::Tuple34") #7 unreachable L109: ; preds = %L61 ; ││└└ ; ││┌ @ abstractarray.jl:1232 within `pointer` @ abstractarray.jl:1229 ; │││┌ @ pointer.jl:65 within `cconvert` %62 = load ptr, ptr %2, align 8 ; │││└ ; │││ @ abstractarray.jl:1232 within `pointer` ; │││┌ @ pointer.jl:316 within `+` %63 = getelementptr i8, ptr %62, i64 %61 ; │└└└ ; │┌ @ /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` %res.i = load <4 x i8>, ptr %63, 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:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` %.size49.sroa.0.0.copyload = load i64, ptr %5, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %.not409 = icmp sgt i64 %60, %.size49.sroa.0.0.copyload ; │││└└ ; │││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not409, label %L111, label %L115 L111: ; preds = %L109 ; │││ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi18295, ptr %"new::Tuple47", align 8 ; │││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_21060(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple47") #7 unreachable L115: ; preds = %L109 ; │└└ ; │ @ /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:518 within `getindex` ; │││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ abstractarray.jl:754 within `checkindex` ; │││││┌ @ int.jl:519 within `<` %.not218 = icmp ult i64 %61, %.size49.sroa.0.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not218, label %L134, label %L130 L130: ; preds = %L115 ; ││└└ ; ││┌ @ indices.jl:494 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:355 within `map` ; │││││┌ @ range.jl:472 within `unchecked_oneto` store i64 %.size49.sroa.0.0.copyload, ptr %"new::LinearIndices61", align 8 ; ││└└└└ ; ││┌ @ indices.jl:518 within `getindex` ; │││┌ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi18295, ptr %"new::Tuple63", align 8 ; ││││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_21059(ptr nocapture nonnull readonly %"new::LinearIndices61", ptr nocapture nonnull readonly %"new::Tuple63") #7 unreachable L134: ; preds = %L115 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; │┌ @ range.jl:5 within `Colon` ; ││┌ @ range.jl:408 within `UnitRange` ; │││┌ @ range.jl:419 within `unitrange_last` ; ││││┌ @ operators.jl:426 within `>=` ; │││││┌ @ int.jl:520 within `<=` %.not219 = icmp sgt i64 %value_phi17294, 9223372036854775804 ; ││││└└ %value_phi85.v = select i1 %.not219, i64 -1, i64 3 %value_phi85 = add i64 %value_phi85.v, %value_phi17294 ; │└└└ ; │┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; ││┌ @ abstractarray.jl:389 within `eachindex` ; │││┌ @ abstractarray.jl:137 within `axes1` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ array.jl:194 within `size` %.size89.sroa.0.0.copyload = load i64, ptr %6, align 8 ; ││└└└└ ; ││┌ @ abstractarray.jl:757 within `checkindex` ; │││┌ @ range.jl:681 within `isempty` ; ││││┌ @ operators.jl:379 within `>` ; │││││┌ @ int.jl:83 within `<` %64 = icmp slt i64 %value_phi85, %value_phi17294 ; │││└└└ ; │││ @ abstractarray.jl:757 within `checkindex` @ abstractarray.jl:754 ; │││┌ @ int.jl:86 within `-` %65 = add i64 %value_phi17294, -1 ; │││└ ; │││┌ @ int.jl:519 within `<` %66 = icmp ult i64 %65, %.size89.sroa.0.0.copyload ; │││└ ; │││┌ @ int.jl:86 within `-` %67 = add i64 %value_phi85, -1 ; │││└ ; │││┌ @ int.jl:519 within `<` %68 = icmp ult i64 %67, %.size89.sroa.0.0.copyload ; │││└ ; │││ @ abstractarray.jl:757 within `checkindex` ; │││┌ @ bool.jl:38 within `&` %69 = and i1 %66, %68 ; │││└ ; │││┌ @ bool.jl:39 within `|` %70 = or i1 %64, %69 ; ││└└ ; ││ @ abstractarray.jl:699 within `checkbounds` br i1 %70, label %L179, label %L176 L176: ; preds = %L134 %"new::UnitRange.sroa.2.0..sroa_idx" = getelementptr inbounds i8, ptr %"new::Tuple87", i64 8 ; ││ @ abstractarray.jl:697 within `checkbounds` store i64 %value_phi17294, ptr %"new::Tuple87", align 8 store i64 %value_phi85, ptr %"new::UnitRange.sroa.2.0..sroa_idx", align 8 ; ││ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_21058(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple87") #7 unreachable L179: ; preds = %L134 ; └└ ; ┌ @ /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:1232 within `pointer` @ abstractarray.jl:1229 ; │││┌ @ pointer.jl:65 within `cconvert` %71 = load ptr, ptr %4, align 8 ; │││└ ; │││ @ abstractarray.jl:1232 within `pointer` ; │││┌ @ abstractarray.jl:1236 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %72 = shl i64 %value_phi18295, 3 %73 = add nsw i64 %72, -8 ; │││└└ ; │││┌ @ pointer.jl:316 within `+` %74 = getelementptr i8, ptr %71, i64 %73 ; │└└└ ; │┌ @ /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` %res.i213 = load <4 x double>, ptr %74, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; │┌ @ abstractarray.jl:1232 within `pointer` @ abstractarray.jl:1229 ; ││┌ @ pointer.jl:65 within `cconvert` %75 = load ptr, ptr %0, align 8 ; ││└ ; ││ @ abstractarray.jl:1232 within `pointer` ; ││┌ @ abstractarray.jl:1236 within `_memory_offset` ; │││┌ @ int.jl:88 within `*` %76 = shl i64 %value_phi17294, 3 %77 = add i64 %76, -8 ; ││└└ ; ││┌ @ pointer.jl:316 within `+` %78 = getelementptr i8, ptr %75, i64 %77 ; │└└ ; │ @ /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> call void @llvm.masked.compressstore.v4f64(<4 x double> %res.i213, ptr %78, <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.i215 = zext i4 %maskipopcnt.i to i64 ; └└└└ ; ┌ @ int.jl:87 within `+` %79 = add i64 %value_phi17294, %res.i215 ; └ ; @ /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 `+` %80 = add nuw i64 %value_phi18295, 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:520 within `<=` %.not216 = icmp sgt i64 %80, %8 ; └ br i1 %.not216, label %L34.L199.preheader_crit_edge, label %L38 L208: ; preds = %L262, %L262.peel %value_phi130300 = phi i64 [ %110, %L262 ], [ %58, %L262.peel ] %value_phi129299 = phi i64 [ %value_phi192, %L262 ], [ %value_phi192.peel, %L262.peel ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:916 within `getindex` %81 = add i64 %value_phi130300, -1 %.not221 = icmp ult i64 %81, %.size139.sroa.0.0.copyload br i1 %.not221, label %L220, label %L217 L217: ; preds = %L208, %L208.lr.ph %value_phi130.lcssa236 = phi i64 [ %value_phi18.lcssa, %L208.lr.ph ], [ %value_phi130300, %L208 ] store i64 %value_phi130.lcssa236, ptr %"new::Tuple203", align 8 call void @j_throw_boundserror_21068(ptr nonnull %2, ptr nocapture nonnull readonly %"new::Tuple203") #7 unreachable L220: ; preds = %L208 ; │ @ essentials.jl:917 within `getindex` %82 = add i64 %19, %81 %.not222 = icmp ult i64 %82, %20 %83 = getelementptr inbounds i8, ptr %9, i64 %81 %84 = ptrtoint ptr %83 to i64 %85 = sub i64 %84, %24 %86 = icmp ult i64 %85, %19 %87 = and i1 %.not222, %86 br i1 %87, label %load, label %oob L227: ; preds = %load ; └ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:916 within `getindex` %.not226 = icmp ult i64 %81, %.size132.sroa.0.0.copyload br i1 %.not226, label %L239, label %L236 L236: ; preds = %L227, %L227.peel %value_phi130.lcssa239 = phi i64 [ %value_phi18.lcssa, %L227.peel ], [ %value_phi130300, %L227 ] store i64 %value_phi130.lcssa239, ptr %"new::Tuple199", align 8 call void @j_throw_boundserror_21067(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple199") #7 unreachable L239: ; preds = %L227 ; │ @ essentials.jl:917 within `getindex` %88 = load i64, ptr %14, align 8 %89 = shl nuw nsw i64 %88, 1 %90 = add i64 %88, %81 %.not227 = icmp ult i64 %90, %89 %91 = getelementptr inbounds double, ptr %12, i64 %81 %92 = load ptr, ptr %.data_ptr162, align 8 %93 = ptrtoint ptr %92 to i64 %94 = ptrtoint ptr %91 to i64 %95 = sub i64 %94, %93 %96 = shl nuw nsw i64 %88, 3 %97 = icmp ult i64 %95, %96 %98 = and i1 %.not227, %97 br i1 %98, label %idxend167, label %oob163 L254: ; preds = %load170, %load170.peel %value_phi129.lcssa251 = phi i64 [ %value_phi17.lcssa, %load170.peel ], [ %value_phi129299, %load170 ] ; └ ; ┌ @ array.jl:986 within `setindex!` store i64 %value_phi129.lcssa251, ptr %"new::Tuple195", align 8 call void @j_throw_boundserror_21067(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple195") #7 unreachable L257: ; preds = %load170 ; │ @ array.jl:987 within `setindex!` %99 = load i64, ptr %17, align 8 %100 = shl nuw nsw i64 %99, 1 %101 = add i64 %99, %117 %.not231 = icmp ult i64 %101, %100 %102 = getelementptr inbounds double, ptr %15, i64 %117 %103 = load ptr, ptr %.data_ptr182, align 8 %104 = ptrtoint ptr %103 to i64 %105 = ptrtoint ptr %102 to i64 %106 = sub i64 %105, %104 %107 = shl nuw nsw i64 %99, 3 %108 = icmp ult i64 %106, %107 %109 = and i1 %.not231, %108 br i1 %109, label %idxend188, label %oob183 L262: ; preds = %load190, %load %value_phi192 = phi i64 [ %119, %load190 ], [ %value_phi129299, %load ] ; └ ; @ /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 `+` %110 = add i64 %value_phi130300, 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:520 within `<=` %.not220 = icmp sgt i64 %110, %.size132.sroa.0.0.copyload ; └ br i1 %.not220, label %L269, label %L208 L266: ; 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 %111 = call [1 x ptr] @j_AssertionError_21070(ptr nonnull @"jl_global#21071.jit") %gc_slot_addr_0 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 %112 = extractvalue [1 x ptr] %111, 0 store ptr %112, ptr %gc_slot_addr_0, align 16 %ptls_field = getelementptr inbounds ptr, ptr %tls_pgcstack, i64 2 %ptls_load = load ptr, ptr %ptls_field, align 8 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(16) ptr @ijl_gc_pool_alloc_instrumented(ptr %ptls_load, i32 800, i32 16, i64 135721472755232) #15 %"box::AssertionError.tag_addr" = getelementptr inbounds i64, ptr %"box::AssertionError", i64 -1 store atomic i64 135721472755232, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %112, ptr %"box::AssertionError", align 8 call void @ijl_throw(ptr nonnull %"box::AssertionError") unreachable L269: ; preds = %L262, %L262.peel, %L199.preheader %frame.prev498 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev498, ptr %tls_pgcstack, 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 ptr %0 oob: ; preds = %L220, %L220.peel %value_phi130.lcssa237 = phi i64 [ %value_phi18.lcssa, %L220.peel ], [ %value_phi130300, %L220 ] %gc_slot_addr_0482 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %11, ptr %gc_slot_addr_0482, align 16 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:917 within `getindex` %ptls_field490 = getelementptr inbounds ptr, ptr %tls_pgcstack, i64 2 %ptls_load491 = load ptr, ptr %ptls_field490, align 8 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_pool_alloc_instrumented(ptr %ptls_load491, i32 848, i32 32, i64 135721473386288) #15 %"box::GenericMemoryRef.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef", i64 -1 store atomic i64 135721473386288, ptr %"box::GenericMemoryRef.tag_addr" unordered, align 8 store ptr %9, ptr %"box::GenericMemoryRef", align 8 %"box::GenericMemoryRef.repack223" = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef", i64 0, i32 1 store ptr %11, ptr %"box::GenericMemoryRef.repack223", align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef", i64 %value_phi130.lcssa237) unreachable load: ; preds = %L220 %113 = load i8, ptr %83, align 1 %114 = and i8 %113, 1 %.not225 = icmp eq i8 %114, 0 ; └ br i1 %.not225, label %L262, label %L227 oob163: ; preds = %L239, %L239.peel %value_phi130.lcssa240 = phi i64 [ %value_phi18.lcssa, %L239.peel ], [ %value_phi130300, %L239 ] %gc_slot_addr_0483 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %14, ptr %gc_slot_addr_0483, align 16 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:917 within `getindex` %ptls_field493 = getelementptr inbounds ptr, ptr %tls_pgcstack, i64 2 %ptls_load494 = load ptr, ptr %ptls_field493, align 8 %"box::GenericMemoryRef166" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_pool_alloc_instrumented(ptr %ptls_load494, i32 848, i32 32, i64 135721507886928) #15 %"box::GenericMemoryRef166.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef166", i64 -1 store atomic i64 135721507886928, ptr %"box::GenericMemoryRef166.tag_addr" unordered, align 8 store ptr %12, ptr %"box::GenericMemoryRef166", align 8 %"box::GenericMemoryRef166.repack228" = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef166", i64 0, i32 1 store ptr %14, ptr %"box::GenericMemoryRef166.repack228", align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef166", i64 %value_phi130.lcssa240) unreachable idxend167: ; preds = %L239 %115 = icmp eq i64 %88, 0 br i1 %115, label %oob169, label %load170 oob169: ; preds = %idxend167, %idxend167.peel call void @ijl_bounds_error_int(ptr %14, i64 1) unreachable load170: ; preds = %idxend167 %116 = load double, ptr %91, align 8 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ int.jl:86 within `-` %117 = add i64 %value_phi129299, -1 ; │└ ; │┌ @ int.jl:519 within `<` %.not230 = icmp ult i64 %117, %.size174.sroa.0.0.copyload ; │└ br i1 %.not230, label %L257, label %L254 oob183: ; preds = %L257, %L257.peel %value_phi129.lcssa252 = phi i64 [ %value_phi17.lcssa, %L257.peel ], [ %value_phi129299, %L257 ] %gc_slot_addr_0484 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %17, ptr %gc_slot_addr_0484, align 16 ; │ @ array.jl:987 within `setindex!` %ptls_field496 = getelementptr inbounds ptr, ptr %tls_pgcstack, i64 2 %ptls_load497 = load ptr, ptr %ptls_field496, align 8 %"box::GenericMemoryRef187" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_pool_alloc_instrumented(ptr %ptls_load497, i32 848, i32 32, i64 135721507886928) #15 %"box::GenericMemoryRef187.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef187", i64 -1 store atomic i64 135721507886928, ptr %"box::GenericMemoryRef187.tag_addr" unordered, align 8 store ptr %15, ptr %"box::GenericMemoryRef187", align 8 %"box::GenericMemoryRef187.repack232" = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef187", i64 0, i32 1 store ptr %17, ptr %"box::GenericMemoryRef187.repack232", align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef187", i64 %value_phi129.lcssa252) unreachable idxend188: ; preds = %L257 %118 = icmp eq i64 %99, 0 br i1 %118, label %oob189, label %load190 oob189: ; preds = %idxend188, %idxend188.peel call void @ijl_bounds_error_int(ptr %17, i64 1) unreachable load190: ; preds = %idxend188 store double %116, ptr %102, 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 `+` %119 = add i64 %value_phi129299, 1 br label %L262 ; └ } .text .file "vcompress!" .globl "japi1_vcompress!_21074" # -- Begin function japi1_vcompress!_21074 .p2align 4, 0x90 .type "japi1_vcompress!_21074",@function "japi1_vcompress!_21074": # @"japi1_vcompress!_21074" ; Function Signature: vcompress!(Array{Float64, 1}, Array{Bool, 1}, Array{Float64, 1}) ; ┌ @ /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, 232 vxorps xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP lea rcx, [rbp - 112] vmovaps xmmword ptr [rbp - 112], xmm0 mov qword ptr [rbp - 96], 0 mov qword ptr [rbp - 264], rsi mov r14, qword ptr [rax - 8] mov qword ptr [rbp - 112], 4 mov rax, qword ptr [r14] mov qword ptr [rbp - 104], rax mov qword ptr [r14], rcx mov rcx, 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:194 within `size` mov rdx, qword ptr [rcx + 16] ; │└└ ; │┌ @ tuple.jl:547 within `==` ; ││┌ @ tuple.jl:551 within `_eq` ; │││┌ @ range.jl:1121 within `==` @ promotion.jl:639 cmp qword ptr [rax + 16], rdx ; │└└└ jne .LBB0_58 # %bb.1: # %L27 mov rdi, qword ptr [rsi + 8] ; │┌ @ tuple.jl:547 within `==` ; ││┌ @ tuple.jl:551 within `_eq` ; │││┌ @ range.jl:1121 within `==` @ promotion.jl:639 cmp rdx, qword ptr [rdi + 16] ; │└└└ jne .LBB0_58 # %bb.2: # %L29 ; │ @ /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 `+` lea rsi, [rdx - 3] mov ebx, 1 mov qword ptr [rbp - 48], r14 # 8-byte Spill ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:520 within `<=` test rsi, rsi ; │└ jle .LBB0_3 # %bb.24: # %L38.preheader movabs rdx, 9223372036854775804 xor r8d, r8d jmp .LBB0_25 .p2align 4, 0x90 .LBB0_40: # %else24 # in Loop: Header=BB0_25 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 r9, r9 ; │└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:520 within `<=` add r8, 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, r9 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 ; │┌ @ int.jl:520 within `<=` cmp r8, rsi mov r8, r14 ; │└ jg .LBB0_4 .LBB0_25: # %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:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:520 within `<=` lea r9, [r8 + 1] test r9, r9 ; │││││└ jle .LBB0_66 # %bb.26: # %L55 # in Loop: Header=BB0_25 Depth=1 ; ││││└ ; ││││┌ @ abstractarray.jl:389 within `eachindex` ; │││││┌ @ abstractarray.jl:137 within `axes1` ; ││││││┌ @ abstractarray.jl:98 within `axes` ; │││││││┌ @ array.jl:194 within `size` mov r10, qword ptr [rdi + 16] ; ││││└└└└ ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:520 within `<=` lea r14, [r8 + 4] cmp r14, r10 ; ││││└└ ; ││││ @ abstractarray.jl:699 within `checkbounds` jg .LBB0_67 # %bb.27: # %L61 # in Loop: Header=BB0_25 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:518 within `getindex` ; ││││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; │││││┌ @ abstractarray.jl:754 within `checkindex` ; ││││││┌ @ int.jl:519 within `<` cmp r8, r10 ; │││││└└ ; │││││ @ abstractarray.jl:699 within `checkbounds` jae .LBB0_68 # %bb.28: # %L109 # in Loop: Header=BB0_25 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:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ abstractarray.jl:389 within `eachindex` ; │││││┌ @ abstractarray.jl:137 within `axes1` ; ││││││┌ @ abstractarray.jl:98 within `axes` ; │││││││┌ @ array.jl:194 within `size` mov r10, qword ptr [rcx + 16] ; ││││└└└└ ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:520 within `<=` cmp r14, r10 ; ││││└└ ; ││││ @ abstractarray.jl:699 within `checkbounds` jg .LBB0_69 # %bb.29: # %L115 # in Loop: Header=BB0_25 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:518 within `getindex` ; ││││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; │││││┌ @ abstractarray.jl:754 within `checkindex` ; ││││││┌ @ int.jl:519 within `<` cmp r8, r10 ; │││││└└ ; │││││ @ abstractarray.jl:699 within `checkbounds` jae .LBB0_70 # %bb.30: # %L134 # in Loop: Header=BB0_25 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 r9, qword ptr [rdi] ; │ @ /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:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ abstractarray.jl:389 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` mov r15, qword ptr [rax + 16] ; ││└└└└└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:408 within `UnitRange` ; ││││┌ @ range.jl:419 within `unitrange_last` ; │││││┌ @ operators.jl:426 within `>=` ; ││││││┌ @ int.jl:520 within `<=` xor r11d, r11d cmp rbx, rdx ; ││└└└└└ ; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ abstractarray.jl:757 within `checkindex` @ abstractarray.jl:754 ; ││││┌ @ int.jl:86 within `-` lea r10, [rbx - 1] ; ││└└└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:408 within `UnitRange` ; ││││┌ @ range.jl:419 within `unitrange_last` ; │││││┌ @ operators.jl:426 within `>=` ; ││││││┌ @ int.jl:520 within `<=` setle r11b ; │└└└└└└ ; │ @ /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 [r9 + r8] # 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:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ abstractarray.jl:757 within `checkindex` @ abstractarray.jl:754 ; ││││┌ @ int.jl:519 within `<` cmp r10, r15 ; ││└└└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:408 within `UnitRange` ; ││││┌ @ range.jl:419 within `unitrange_last` lea r9, [rbx + 4*r11 - 1] ; ││└└└ ; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ abstractarray.jl:757 within `checkindex` @ abstractarray.jl:754 ; ││││┌ @ int.jl:86 within `-` lea r11, [rbx + 4*r11 - 2] ; ││││└ ; ││││┌ @ int.jl:519 within `<` setb r10b cmp r11, r15 setb r11b ; ││││└ ; ││││ @ abstractarray.jl:757 within `checkindex` ; ││││┌ @ range.jl:681 within `isempty` ; │││││┌ @ operators.jl:379 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r9, rbx ; │││└└└└ ; │││ @ abstractarray.jl:699 within `checkbounds` jl .LBB0_32 # %bb.31: # %L134 # in Loop: Header=BB0_25 Depth=1 and r10b, r11b je .LBB0_71 .LBB0_32: # %L179 # in Loop: Header=BB0_25 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:1232 within `pointer` @ abstractarray.jl:1229 ; ││││┌ @ pointer.jl:65 within `cconvert` mov r9, qword ptr [rcx] ; │└└└└ ; │┌ @ /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 [r9 + 8*r8] ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; ││┌ @ abstractarray.jl:1232 within `pointer` @ abstractarray.jl:1229 ; │││┌ @ pointer.jl:65 within `cconvert` mov r9, qword ptr [rax] ; │││└ ; │││ @ abstractarray.jl:1232 within `pointer` ; │││┌ @ pointer.jl:316 within `+` lea r10, [r9 + 8*rbx - 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 r9d, xmm1 test r9b, 1 je .LBB0_34 # %bb.33: # %cond.store # in Loop: Header=BB0_25 Depth=1 vmovlps qword ptr [r10], xmm0 add r10, 8 .LBB0_34: # %else # in Loop: Header=BB0_25 Depth=1 test r9b, 2 je .LBB0_36 # %bb.35: # %cond.store17 # in Loop: Header=BB0_25 Depth=1 vmovhps qword ptr [r10], xmm0 add r10, 8 .LBB0_36: # %else18 # in Loop: Header=BB0_25 Depth=1 vextractf128 xmm0, ymm0, 1 test r9b, 4 je .LBB0_38 # %bb.37: # %cond.store20 # in Loop: Header=BB0_25 Depth=1 vmovlps qword ptr [r10], xmm0 add r10, 8 .LBB0_38: # %else21 # in Loop: Header=BB0_25 Depth=1 test r9b, 8 je .LBB0_40 # %bb.39: # %cond.store23 # in Loop: Header=BB0_25 Depth=1 vmovhps qword ptr [r10], xmm0 jmp .LBB0_40 .LBB0_4: # %L34.L199.preheader_crit_edge ; │└└└ ; │ @ /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:194 within `size` mov rdx, qword ptr [rcx + 16] ; │└└└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:866 inc r14 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; │┌ @ int.jl:520 within `<=` cmp r14, rdx ; │└ jg .LBB0_65 jmp .LBB0_6 .LBB0_3: mov r14d, 1 ; │┌ @ int.jl:520 within `<=` cmp r14, rdx ; │└ jg .LBB0_65 .LBB0_6: # %L208.lr.ph mov r12, qword ptr [rdi + 16] ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:916 within `getindex` lea r11, [r14 - 1] cmp r11, r12 jae .LBB0_23 # %bb.7: # %L220.peel mov r15, qword ptr [rdi + 8] mov rsi, qword ptr [rdi] ; ││ @ essentials.jl:917 within `getindex` mov r8, qword ptr [r15] mov qword ptr [rbp - 120], rsi # 8-byte Spill mov qword ptr [rbp - 152], r15 # 8-byte Spill lea r9, [r8 + r8] lea r10, [r8 + r11] mov qword ptr [rbp - 168], r9 # 8-byte Spill cmp r10, r9 jae .LBB0_43 # %bb.8: # %L220.peel mov r9, qword ptr [r15 + 8] lea r10, [rsi + r11] mov r15, r10 sub r15, r9 mov qword ptr [rbp - 160], r9 # 8-byte Spill cmp r15, r8 jae .LBB0_43 # %bb.9: # %load.peel mov r15, qword ptr [rcx + 8] test byte ptr [r10], 1 mov r9, qword ptr [rcx] mov r13, qword ptr [rax] mov qword ptr [rbp - 128], r12 # 8-byte Spill mov qword ptr [rbp - 64], r15 # 8-byte Spill mov r15, qword ptr [rax + 16] mov qword ptr [rbp - 72], r9 # 8-byte Spill mov qword ptr [rbp - 80], r13 # 8-byte Spill mov qword ptr [rbp - 136], r15 # 8-byte Spill mov r15, qword ptr [rax + 8] mov qword ptr [rbp - 56], r15 # 8-byte Spill ; │└ je .LBB0_19 # %bb.10: # %L227.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:916 within `getindex` cmp r11, rdx jae .LBB0_49 # %bb.11: # %L239.peel mov r12, qword ptr [rbp - 64] # 8-byte Reload ; ││ @ essentials.jl:917 within `getindex` mov r10, qword ptr [r12] lea r15, [r10 + r10] lea r13, [r10 + r11] cmp r13, r15 jae .LBB0_52 # %bb.12: # %L239.peel mov r9, qword ptr [rbp - 72] # 8-byte Reload lea r13, [8*r10] lea r9, [r9 + 8*r11] mov r15, r9 sub r15, qword ptr [r12 + 8] cmp r15, r13 jae .LBB0_52 # %bb.13: # %idxend167.peel test r10, r10 je .LBB0_72 # %bb.14: # %load170.peel ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ int.jl:86 within `-` lea r15, [rbx - 1] ; ││└ ; ││┌ @ int.jl:519 within `<` cmp r15, qword ptr [rbp - 136] # 8-byte Folded Reload ; ││└ jae .LBB0_61 # %bb.15: # %L257.peel mov r12, qword ptr [rbp - 56] # 8-byte Reload mov qword ptr [rbp - 144], r9 # 8-byte Spill ; ││ @ array.jl:987 within `setindex!` mov r10, qword ptr [r12] lea r13, [r10 + r10] lea r11, [r10 + r15] cmp r11, r13 jae .LBB0_57 # %bb.16: # %L257.peel mov r9, qword ptr [rbp - 80] # 8-byte Reload lea r13, [r9 + 8*r15] lea r15, [8*r10] mov r11, r13 sub r11, qword ptr [r12 + 8] cmp r11, r15 jae .LBB0_57 # %bb.17: # %idxend188.peel mov r12, qword ptr [rbp - 128] # 8-byte Reload mov r9, qword ptr [rbp - 144] # 8-byte Reload test r10, r10 je .LBB0_73 # %bb.18: # %load190.peel ; │└ vmovsd xmm0, qword ptr [r9] # xmm0 = mem[0],zero ; │ @ /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 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ array.jl:987 within `setindex!` vmovsd qword ptr [r13], xmm0 .LBB0_19: # %L262.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 `+` lea r11, [r14 + 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:520 within `<=` cmp r11, rdx ; │└ jle .LBB0_20 .LBB0_65: # %L269 mov rcx, qword ptr [rbp - 104] mov rdx, qword ptr [rbp - 48] # 8-byte Reload mov qword ptr [rdx], rcx ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:879 add rsp, 232 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp vzeroupper ret .LBB0_20: # %L208.preheader ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:916 within `getindex` mov r13, rsi mov r9, qword ptr [rbp - 72] # 8-byte Reload sub r13, qword ptr [rbp - 160] # 8-byte Folded Reload lea r14, [r9 + 8*r14] jmp .LBB0_21 .p2align 4, 0x90 .LBB0_64: # %L262 # in Loop: Header=BB0_21 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 r11 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 ; │┌ @ int.jl:520 within `<=` add r14, 8 cmp r11, rdx ; │└ jg .LBB0_65 .LBB0_21: # %L208 # =>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:916 within `getindex` lea r10, [r11 - 1] cmp r10, r12 jae .LBB0_22 # %bb.41: # %L220 # in Loop: Header=BB0_21 Depth=1 ; ││ @ essentials.jl:917 within `getindex` lea r15, [r8 + r11 - 1] cmp r15, qword ptr [rbp - 168] # 8-byte Folded Reload jae .LBB0_42 # %bb.44: # %L220 # in Loop: Header=BB0_21 Depth=1 lea r15, [r13 + r11 - 1] cmp r15, r8 jae .LBB0_45 # %bb.46: # %load # in Loop: Header=BB0_21 Depth=1 test byte ptr [rsi + r11 - 1], 1 ; │└ je .LBB0_64 # %bb.47: # %L227 # in Loop: Header=BB0_21 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:916 within `getindex` cmp r10, rdx jae .LBB0_48 # %bb.50: # %L239 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 64] # 8-byte Reload ; ││ @ essentials.jl:917 within `getindex` mov r10, qword ptr [rsi] lea r15, [r10 + r10] lea r12, [r11 + r10 - 1] cmp r12, r15 jae .LBB0_51 # %bb.53: # %L239 # in Loop: Header=BB0_21 Depth=1 mov r15, r14 sub r15, qword ptr [rsi + 8] lea r12, [8*r10] cmp r15, r12 jae .LBB0_54 # %bb.59: # %idxend167 # in Loop: Header=BB0_21 Depth=1 test r10, r10 je .LBB0_72 # %bb.60: # %load170 # in Loop: Header=BB0_21 Depth=1 ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ int.jl:86 within `-` lea r15, [rbx - 1] ; ││└ ; ││┌ @ int.jl:519 within `<` cmp r15, qword ptr [rbp - 136] # 8-byte Folded Reload ; ││└ jae .LBB0_61 # %bb.55: # %L257 # in Loop: Header=BB0_21 Depth=1 mov r9, qword ptr [rbp - 56] # 8-byte Reload ; ││ @ array.jl:987 within `setindex!` mov r10, qword ptr [r9] lea r12, [r10 + r10] lea rsi, [r10 + r15] cmp rsi, r12 jae .LBB0_57 # %bb.56: # %L257 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 80] # 8-byte Reload lea r12, [8*r10] lea r15, [rsi + 8*r15] mov rsi, r15 sub rsi, qword ptr [r9 + 8] cmp rsi, r12 jae .LBB0_57 # %bb.62: # %idxend188 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 120] # 8-byte Reload mov r12, qword ptr [rbp - 128] # 8-byte Reload test r10, r10 je .LBB0_73 # %bb.63: # %load190 # in Loop: Header=BB0_21 Depth=1 mov r9, qword ptr [rbp - 72] # 8-byte Reload ; │└ ; │ @ /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 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 vmovsd xmm0, qword ptr [r9 + 8*r11 - 8] # xmm0 = mem[0],zero ; │┌ @ array.jl:987 within `setindex!` vmovsd qword ptr [r15], xmm0 jmp .LBB0_64 .LBB0_66: # %L57split add rdx, 5 mov r9, rdx .LBB0_67: # %L57 ; │└ ; │ @ /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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_21101 lea rsi, [rbp - 240] ; ││││ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 240], r9 ; ││││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_68: # %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:518 within `getindex` ; ││││┌ @ abstractarray.jl:699 within `checkbounds` movabs rax, offset j_throw_boundserror_21099 lea rdi, [rbp - 232] lea rsi, [rbp - 224] ; │││└└ ; │││┌ @ indices.jl:494 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:355 within `map` ; ││││││┌ @ range.jl:472 within `unchecked_oneto` mov qword ptr [rbp - 232], r10 ; │││└└└└ ; │││┌ @ indices.jl:518 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 224], r9 ; │││││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_69: # %L111 ; │└└└└ ; │ @ /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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_21100 lea rsi, [rbp - 216] mov rdi, rcx ; ││││ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 216], r9 ; ││││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_70: # %L130 ; ││└└ ; ││ @ /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:518 within `getindex` ; ││││┌ @ abstractarray.jl:699 within `checkbounds` movabs rax, offset j_throw_boundserror_21099 lea rdi, [rbp - 208] lea rsi, [rbp - 200] ; │││└└ ; │││┌ @ indices.jl:494 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:355 within `map` ; ││││││┌ @ range.jl:472 within `unchecked_oneto` mov qword ptr [rbp - 208], r10 ; │││└└└└ ; │││┌ @ indices.jl:518 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 200], r9 ; │││││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_71: # %L176 ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:699 within `checkbounds` movabs rcx, offset j_throw_boundserror_21098 lea rsi, [rbp - 256] mov rdi, rax ; │││ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 256], rbx mov qword ptr [rbp - 248], r9 ; │││ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rcx .LBB0_22: mov r14, r11 .LBB0_23: # %L217 ; │└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:916 within `getindex` movabs rax, offset j_throw_boundserror_21108 lea rsi, [rbp - 176] mov qword ptr [rbp - 176], r14 vzeroupper call rax .LBB0_72: # %oob169 mov rdi, qword ptr [rbp - 64] # 8-byte Reload ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:917 within `getindex` movabs rax, offset ijl_bounds_error_int mov esi, 1 vzeroupper call rax .LBB0_61: # %L254 ; │└ ; │┌ @ array.jl:986 within `setindex!` movabs rcx, offset j_throw_boundserror_21107 lea rsi, [rbp - 192] mov rdi, rax mov qword ptr [rbp - 192], rbx vzeroupper call rcx .LBB0_57: # %oob183 mov r15, qword ptr [rbp - 56] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs r14, 135721507886928 ; ││ @ array.jl:987 within `setindex!` mov esi, 848 mov edx, 32 mov rcx, r14 mov qword ptr [rbp - 96], r15 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_pool_alloc_instrumented vzeroupper call rax mov rcx, qword ptr [rbp - 80] # 8-byte Reload mov qword ptr [rax - 8], r14 mov rdi, rax mov rsi, rbx mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r15 call rcx .LBB0_73: # %oob189 mov rdi, qword ptr [rbp - 56] # 8-byte Reload movabs rax, offset ijl_bounds_error_int mov esi, 1 vzeroupper call rax .LBB0_45: mov r14, r11 jmp .LBB0_43 .LBB0_42: mov r14, r11 .LBB0_43: # %oob mov r15, qword ptr [rbp - 152] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs rbx, 135721507886928 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:917 within `getindex` mov esi, 848 mov edx, 32 add rbx, -34500640 mov rcx, rbx mov qword ptr [rbp - 96], r15 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_pool_alloc_instrumented vzeroupper call rax mov rcx, qword ptr [rbp - 120] # 8-byte Reload mov qword ptr [rax - 8], rbx mov rdi, rax mov rsi, r14 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r15 call rcx .LBB0_48: mov r14, r11 .LBB0_49: # %L236 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:916 within `getindex` movabs rax, offset j_throw_boundserror_21107 lea rsi, [rbp - 184] mov rdi, rcx mov qword ptr [rbp - 184], r14 vzeroupper call rax .LBB0_58: # %L266 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 movabs rdi, offset ".Ljl_global#21111.jit" movabs rax, offset j_AssertionError_21110 call rax mov qword ptr [rbp - 96], rax mov rbx, rax movabs rax, offset ijl_gc_pool_alloc_instrumented mov esi, 800 mov edx, 16 mov rdi, qword ptr [r14 + 16] movabs r14, 135721507886928 add r14, -35131696 mov rcx, r14 call rax movabs rcx, offset ijl_throw mov rdi, rax mov qword ptr [rax - 8], r14 mov qword ptr [rax], rbx call rcx .LBB0_51: mov r14, r11 jmp .LBB0_52 .LBB0_54: mov r14, r11 .LBB0_52: # %oob163 mov r15, qword ptr [rbp - 64] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs rbx, 135721507886928 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:917 within `getindex` mov esi, 848 mov edx, 32 mov rcx, rbx mov qword ptr [rbp - 96], r15 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_pool_alloc_instrumented vzeroupper call rax mov rcx, qword ptr [rbp - 72] # 8-byte Reload mov qword ptr [rax - 8], rbx mov rdi, rax mov rsi, r14 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r15 call rcx .Lfunc_end0: .size "japi1_vcompress!_21074", .Lfunc_end0-"japi1_vcompress!_21074" ; └└ # -- End function .set ".L+Core.AssertionError#21113.jit", 135721472755232 .size ".L+Core.AssertionError#21113.jit", 8 .set ".L+Core.GenericMemoryRef#21103.jit", 135721473386288 .size ".L+Core.GenericMemoryRef#21103.jit", 8 .set ".L+Core.GenericMemoryRef#21105.jit", 135721507886928 .size ".L+Core.GenericMemoryRef#21105.jit", 8 .set ".Ljl_global#21111.jit", 135721673169808 .size ".Ljl_global#21111.jit", 8 .section ".note.GNU-stack","",@progbits Test Summary: | Pass Total Time Real-world examples | 17 17 3.3s Test Summary: | Pass Total Time Vector shuffles | 222 222 2.1s Test Summary: | Pass Total Time Contiguous ReinterpretArrays load/store | 6 6 1.3s 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 62.88s PkgEval succeeded after 93.6s