Package evaluation of SIMD on Julia 1.13.0-DEV.449 (8d6b63c3a6*) started at 2025-04-28T23:16:00.938 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.53s ################################################################################ # Installation # Installing SIMD... Resolving package versions... Updating `~/.julia/environments/v1.13/Project.toml` [fdea26ae] + SIMD v3.7.1 Updating `~/.julia/environments/v1.13/Manifest.toml` [aea7be01] + PrecompileTools v1.3.2 [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 Installation completed after 0.88s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 30.46s ################################################################################ # Testing # Testing SIMD Status `/tmp/jl_mWYkwd/Project.toml` [fdea26ae] SIMD v3.7.1 [b77e0a4c] InteractiveUtils v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_mWYkwd/Manifest.toml` [aea7be01] PrecompileTools v1.3.2 [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 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.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 [f489334b] StyledStrings v1.11.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [4ec0a83e] Unicode v1.11.0 Testing Running tests... Test Summary: | Pass Total Time Type properties | 10 10 1.4s Test Summary: | Pass Total Time Errors | 2 2 0.7s Test Summary: | Pass Total Time Type conversion | 8 8 1.3s Test Summary: | Pass Total Time Conversion and reinterpretation | 4 4 1.1s Test Summary: | Pass Total Time Element-wise access | 22 22 0.6s Test Summary: | Pass Total Time Integer arithmetic functions | 116 116 4.4s Test Summary: | Pass Total Time bswap | 6 6 0.6s Test Summary: | Pass Total Time saturation | 4 4 0.2s Test Summary: | Pass Total Time overflow arithmetic | 24 24 3.6s Test Summary: | Pass Total Time Floating point arithmetic functions | 106 106 34.9s Test Summary: | Pass Total Time Type promotion | 88 88 1.4s Test Summary: | Pass Total Time Reduction operations | 21 21 1.5s Test Summary: | Pass Total Time Load and store functions | 66 66 1.6s Test Summary: | Pass Total Time Load and store with pointers | 168 168 4.1s Test Summary: | Pass Total Time fastmath | 6 6 0.2s Test Summary: | Pass Total Time Gather and scatter function | 120 120 7.7s Test Summary: | Pass Total Time expandload | 10 10 0.2s Test Summary: | Pass Total Time compressstore | 10 10 0.7s Test Summary: | Pass Total Time Index-based load/store | 104 104 6.9s ; 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_16686(ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %"xs::SubArray", ptr nocapture readonly %.roots.xs) local_unnamed_addr #0 { top: %gcframe1 = alloca [4 x ptr], align 16 call void @llvm.memset.p0.i64(ptr align 16 %gcframe1, i8 0, i64 32, i1 true) %"new::Tuple" = alloca [1 x [1 x i64]], align 8 %thread_ptr = call ptr asm "movq %fs:0, $0", "=r"() #14 %tls_ppgcstack = getelementptr inbounds i8, ptr %thread_ptr, i64 -8 %tls_pgcstack = load ptr, ptr %tls_ppgcstack, align 8 store i64 8, ptr %gcframe1, align 8 %frame.prev = getelementptr inbounds i8, ptr %gcframe1, i64 8 %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 %.roots.xs, 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:517 within `axes` ; │││┌ @ Base_compiler.jl:54 within `getproperty` %1 = getelementptr inbounds i8, ptr %"xs::SubArray", i64 8 ; │││└ ; │││┌ @ subarray.jl:522 within `_indices_sub` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ range.jl:690 within `size` ; ││││││┌ @ range.jl:780 within `length` ; │││││││┌ @ range.jl:866 within `last` ; ││││││││┌ @ Base_compiler.jl:54 within `getproperty` %.stop_ptr = getelementptr inbounds i8, ptr %"xs::SubArray", i64 16 ; │││││││└└ ; │││││││ @ range.jl:783 within `length` ; │││││││┌ @ int.jl:86 within `-` %.stop_ptr.unbox = load i64, ptr %.stop_ptr, align 8 %.unbox = load i64, ptr %1, align 8 %2 = sub i64 %.stop_ptr.unbox, %.unbox ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` %3 = add i64 %2, 1 ; └└└└└└└└ ; ┌ @ promotion.jl:632 within `==` %4 = and i64 %3, 3 %.not = icmp eq i64 %4, 0 ; └ br i1 %.not, label %L10, label %L125 L10: ; preds = %top ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; ┌ @ range.jl:22 within `Colon` ; │┌ @ range.jl:24 within `_colon` ; ││┌ @ range.jl:391 within `StepRange` @ range.jl:336 ; │││┌ @ range.jl:351 within `steprange_last` ; ││││┌ @ promotion.jl:632 within `==` %.not30 = icmp eq i64 %.stop_ptr.unbox, %.unbox ; ││││└ br i1 %.not30, label %L55, label %L22 L22: ; preds = %L10 ; ││││ @ range.jl:354 within `steprange_last` ; ││││┌ @ operators.jl:425 within `>` ; │││││┌ @ int.jl:83 within `<` %5 = icmp sgt i64 %3, 1 ; ││││└└ br i1 %5, label %L42, label %L122 L42: ; preds = %L22 ; ││││ @ range.jl:367 within `steprange_last` ; ││││┌ @ int.jl:302 within `rem` %6 = and i64 %2, 3 ; ││││└ ; ││││ @ range.jl:370 within `steprange_last` %7 = sub nsw i64 %3, %6 br label %L55 L55: ; preds = %L42, %L10 %value_phi = phi i64 [ %7, %L42 ], [ %3, %L10 ] ; └└└└ ; ┌ @ range.jl:924 within `iterate` ; │┌ @ range.jl:692 within `isempty` ; ││┌ @ bool.jl:40 within `&` %8 = icmp slt i64 %value_phi, 1 ; └└└ br i1 %8, label %L122, label %L69.preheader L69.preheader: ; preds = %L55 %9 = getelementptr inbounds i8, ptr %"xs::SubArray", i64 24 %.unbox12 = load i64, ptr %9, 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:697 within `checkbounds` br label %L69 L69: ; preds = %L98, %L69.preheader %value_phi6 = phi i64 [ %14, %L98 ], [ 1, %L69.preheader ] %value_phi8 = phi <4 x double> [ %20, %L98 ], [ zeroinitializer, %L69.preheader ] ; │││ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %10 = icmp sgt i64 %value_phi6, 0 ; ││││└ %11 = add nuw i64 %value_phi6, 3 %12 = icmp sle i64 %11, %3 ; │││└ ; │││ @ abstractarray.jl:697 within `checkbounds` %narrow.not.not38 = and i1 %10, %12 br i1 %narrow.not.not38, label %L98, label %L94 L94: ; preds = %L69 %13 = getelementptr inbounds i8, ptr %gcframe1, i64 16 ; ││└ store i64 %value_phi6, ptr %"new::Tuple", align 8 ; ││┌ @ abstractarray.jl:697 within `checkbounds` store ptr %0, ptr %13, align 8 call void @j_throw_boundserror_16693(ptr nocapture nonnull readonly %"xs::SubArray", ptr nocapture nonnull readonly %13, ptr nocapture nonnull readonly %"new::Tuple") #4 unreachable L98: ; preds = %L69 ; │││ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` %14 = add nuw i64 %value_phi6, 4 ; │└└└ ; │ @ /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:503 within `pointer` ; │││┌ @ int.jl:87 within `+` %15 = add i64 %.unbox12, %value_phi6 ; │││└ ; │││ @ subarray.jl:503 within `pointer` @ abstractarray.jl:1263 @ abstractarray.jl:1260 ; │││┌ @ pointer.jl:63 within `cconvert` %16 = load ptr, ptr %0, align 8 ; │││└ ; │││ @ subarray.jl:503 within `pointer` @ abstractarray.jl:1263 ; │││┌ @ abstractarray.jl:1267 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %17 = shl i64 %15, 3 ; │││└└ ; │││┌ @ pointer.jl:314 within `+` %18 = getelementptr i8, ptr %16, i64 %17 %19 = getelementptr i8, ptr %18, i64 -8 ; │└└└ ; │┌ @ /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 %19, 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` %20 = fadd <4 x double> %value_phi8, %res.i ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; ┌ @ range.jl:928 within `iterate` ; │┌ @ promotion.jl:632 within `==` %.not33 = icmp eq i64 %value_phi6, %value_phi ; └└ br i1 %.not33, label %L122, label %L69 L122: ; preds = %L98, %L55, %L22 %value_phi16 = phi <4 x double> [ zeroinitializer, %L55 ], [ zeroinitializer, %L22 ], [ %20, %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.i29 = call reassoc double @llvm.vector.reduce.fadd.v4f64(double 0.000000e+00, <4 x double> %value_phi16) %frame.prev49 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev49, ptr %tls_pgcstack, align 8 ret double %res.i29 L125: ; preds = %top ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` %21 = call [1 x ptr] @j_AssertionError_16695(ptr nonnull @"jl_global#16696.jit") %gc_slot_addr_1 = getelementptr inbounds i8, ptr %gcframe1, i64 24 %22 = extractvalue [1 x ptr] %21, 0 store ptr %22, ptr %gc_slot_addr_1, align 8 %ptls_field = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(16) ptr @ijl_gc_small_alloc(ptr %ptls_load, i32 360, i32 16, i64 127642577508544) #9 %"box::AssertionError.tag_addr" = getelementptr inbounds i8, ptr %"box::AssertionError", i64 -8 store atomic i64 127642577508544, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %22, ptr %"box::AssertionError", align 8 store ptr null, ptr %gc_slot_addr_1, align 8 call void @ijl_throw(ptr nonnull %"box::AssertionError") unreachable } .text .file "vsum" .section .ltext,"axl",@progbits .globl julia_vsum_16720 # -- Begin function julia_vsum_16720 .p2align 4, 0x90 .type julia_vsum_16720,@function julia_vsum_16720: # @julia_vsum_16720 ; 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 <- [$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 lea rcx, [rbp - 48] vmovupd ymmword ptr [rbp - 48], ymm0 mov r14, qword ptr [rax - 8] mov qword ptr [rbp - 48], 8 mov rax, qword ptr [r14] mov qword ptr [rbp - 40], rax mov qword ptr [r14], rcx ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` ; │┌ @ abstractarray.jl:315 within `length` ; ││┌ @ subarray.jl:65 within `size` ; │││┌ @ subarray.jl:517 within `axes` ; ││││┌ @ subarray.jl:522 within `_indices_sub` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ range.jl:690 within `size` ; │││││││┌ @ range.jl:783 within `length` ; ││││││││┌ @ int.jl:86 within `-` mov r10, qword ptr [rdi + 16] mov r9, qword ptr [rdi + 8] mov rdx, r10 sub rdx, r9 ; ││││││││└ ; ││││││││┌ @ int.jl:87 within `+` lea rax, [rdx + 1] ; │└└└└└└└└ ; │┌ @ promotion.jl:632 within `==` test al, 3 ; │└ jne .LBB0_10 # %bb.1: # %L10 mov rcx, qword ptr [rsi] mov r8, rax ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:791 within `vsum` ; │┌ @ range.jl:22 within `Colon` ; ││┌ @ range.jl:24 within `_colon` ; │││┌ @ range.jl:391 within `StepRange` @ range.jl:336 ; ││││┌ @ range.jl:351 within `steprange_last` ; │││││┌ @ promotion.jl:632 within `==` cmp r10, r9 ; │││││└ je .LBB0_4 # %bb.2: # %L22 ; │││││ @ range.jl:354 within `steprange_last` ; │││││┌ @ operators.jl:425 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp rax, 2 ; │││││└└ jl .LBB0_9 # %bb.3: # %L42 ; │││││ @ range.jl:367 within `steprange_last` ; │││││┌ @ int.jl:302 within `rem` and edx, 3 ; │││││└ ; │││││ @ range.jl:370 within `steprange_last` mov r8, rax sub r8, rdx .LBB0_4: # %L55 ; │└└└└ ; │┌ @ range.jl:924 within `iterate` ; ││┌ @ range.jl:692 within `isempty` ; │││┌ @ bool.jl:40 within `&` test r8, r8 ; │└└└ jle .LBB0_9 # %bb.5: # %L69.preheader mov rdx, qword ptr [rdi + 24] mov rsi, -3 ; │ @ /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:697 within `checkbounds` sub rsi, r8 mov r8d, 4 shl rdx, 3 .p2align 4, 0x90 .LBB0_6: # %L69 # =>This Inner Loop Header: Depth=1 ; ││││ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ /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:697 within `checkbounds` jle .LBB0_11 # %bb.7: # %L69 # in Loop: Header=BB0_6 Depth=1 cmp r8, rax jg .LBB0_11 # %bb.8: # %L98 # in Loop: Header=BB0_6 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:928 within `iterate` ; ││┌ @ promotion.jl:632 within `==` lea r9, [rsi + r8 + 4] add r8, 4 cmp r9, 4 ; │└└ jne .LBB0_6 .LBB0_9: # %L122 ; │ @ /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 vshufpd xmm1, xmm0, 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_11: # %L94 lea rsi, [rbp - 32] ; │└└└ ; │ @ /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:697 within `checkbounds` movabs rax, offset j_throw_boundserror_16727 lea rdx, [rbp - 56] ; │││└ mov qword ptr [rbp - 56], r9 ; │││┌ @ abstractarray.jl:697 within `checkbounds` mov qword ptr [rbp - 32], rcx vzeroupper call rax .LBB0_10: # %L125 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` movabs rdi, offset ".Ljl_global#16730.jit" movabs rax, offset j_AssertionError_16729 vzeroupper call rax mov qword ptr [rbp - 24], rax mov rbx, rax movabs rax, offset ijl_gc_small_alloc mov esi, 360 mov edx, 16 mov rdi, qword ptr [r14 + 16] movabs r14, 127642577508544 mov rcx, r14 call rax movabs rcx, offset ijl_throw mov rdi, rax mov qword ptr [rax - 8], r14 mov qword ptr [rax], rbx mov qword ptr [rbp - 24], 0 call rcx .Lfunc_end0: .size julia_vsum_16720, .Lfunc_end0-julia_vsum_16720 ; └ # -- End function .type ".L+Core.Float64#16722",@object # @"+Core.Float64#16722" .section .lrodata,"al",@progbits .p2align 3, 0x0 ".L+Core.Float64#16722": .quad ".L+Core.Float64#16722.jit" .size ".L+Core.Float64#16722", 8 .set ".Ljl_global#16730.jit", 127642252999376 .size ".Ljl_global#16730.jit", 8 .set ".L+Core.AssertionError#16731.jit", 127642577508544 .size ".L+Core.AssertionError#16731.jit", 8 .set ".L+Core.Float64#16722.jit", 127642667176560 .size ".L+Core.Float64#16722.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!_16859"(ptr %"function::Core.Function", ptr noalias nocapture noundef readonly %"args::Any[]", i32 %"nargs::UInt32") local_unnamed_addr #0 { top: %gcframe2 = alloca [3 x ptr], align 16 call void @llvm.memset.p0.i64(ptr align 16 %gcframe2, 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::Tuple18" = alloca [1 x i64], align 8 %"new::Tuple20" = alloca [1 x [1 x i64]], align 8 %"new::LinearIndices27" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple28" = alloca [1 x i64], align 8 %"new::Tuple32" = alloca [1 x [2 x i64]], align 8 %"new::Tuple115" = alloca [1 x i64], align 8 %"new::Tuple118" = alloca [1 x i64], align 8 %"new::Tuple121" = alloca [1 x i64], align 8 %thread_ptr = call ptr asm "movq %fs:0, $0", "=r"() #18 %tls_ppgcstack = getelementptr inbounds i8, ptr %thread_ptr, i64 -8 %tls_pgcstack = load ptr, ptr %tls_ppgcstack, align 8 store i64 4, ptr %gcframe2, align 8 %frame.prev = getelementptr inbounds i8, ptr %gcframe2, i64 8 %task.gcstack = load ptr, ptr %tls_pgcstack, align 8 store ptr %task.gcstack, ptr %frame.prev, align 8 store ptr %gcframe2, ptr %tls_pgcstack, align 8 %0 = load ptr, ptr %"args::Any[]", align 8 %1 = getelementptr inbounds i8, ptr %"args::Any[]", i64 8 %2 = load ptr, ptr %1, align 8 %3 = getelementptr inbounds i8, ptr %"args::Any[]", i64 16 %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` %.size_ptr = getelementptr inbounds i8, ptr %4, i64 16 %.size.0.copyload = load i64, ptr %.size_ptr, align 8 %.size_ptr1 = getelementptr inbounds i8, ptr %0, i64 16 %.size2.0.copyload = load i64, ptr %.size_ptr1, align 8 ; └└ ; ┌ @ tuple.jl:544 within `==` ; │┌ @ tuple.jl:548 within `_eq` ; ││┌ @ range.jl:1145 within `==` @ promotion.jl:632 %.not.not = icmp eq i64 %.size2.0.copyload, %.size.0.copyload %.size_ptr3 = getelementptr inbounds i8, ptr %2, i64 16 %.size4.0.copyload = load i64, ptr %.size_ptr3, align 8 %.not = icmp eq i64 %.size.0.copyload, %.size4.0.copyload ; └└└ %or.cond = select i1 %.not.not, i1 %.not, i1 false br i1 %or.cond, label %L29, label %L261 L29: ; preds = %top ; @ /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 `+` %5 = add i64 %.size.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 `<=` %.not134230 = icmp slt i64 %5, 1 ; └ br i1 %.not134230, label %L193.preheader, label %L38 L193.preheader.loopexit: ; preds = %L175 %.size50.0.copyload.pre = load i64, ptr %.size_ptr, 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:112 within `vstorec` br label %L193.preheader L193.preheader: ; preds = %L193.preheader.loopexit, %L29 %.size50.0.copyload = phi i64 [ %.size.0.copyload, %L29 ], [ %.size50.0.copyload.pre, %L193.preheader.loopexit ] %value_phi10.lcssa = phi i64 [ 1, %L29 ], [ %27, %L193.preheader.loopexit ] %value_phi11.lcssa = phi i64 [ 1, %L29 ], [ %28, %L193.preheader.loopexit ] ; └ ; @ /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 `<=` %.not144252 = icmp sgt i64 %value_phi11.lcssa, %.size50.0.copyload ; └ br i1 %.not144252, label %L264, label %L202.lr.ph L202.lr.ph: ; preds = %L193.preheader %.size52.0.copyload = load i64, ptr %.size_ptr3, align 8 %memoryref_data = load ptr, ptr %2, align 8 %6 = getelementptr inbounds i8, ptr %2, i64 8 %memoryref_mem = load ptr, ptr %6, align 8 %memory_data_ptr = getelementptr inbounds i8, ptr %memoryref_mem, i64 8 %memoryref_data63 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds i8, ptr %4, i64 8 %memoryref_mem81 = load ptr, ptr %7, align 8 %memory_data_ptr70 = getelementptr inbounds i8, ptr %memoryref_mem81, i64 8 %.size87.0.copyload = load i64, ptr %.size_ptr1, align 8 %memoryref_data90 = load ptr, ptr %0, align 8 %8 = getelementptr inbounds i8, ptr %0, i64 8 %memoryref_mem109 = load ptr, ptr %8, align 8 %memory_data_ptr97 = getelementptr inbounds i8, ptr %memoryref_mem109, i64 8 br label %L202 L38: ; preds = %L175, %L29 %value_phi11238 = phi i64 [ %28, %L175 ], [ 1, %L29 ] %value_phi10237 = phi i64 [ %27, %L175 ], [ 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:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:391 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` %.size13.0.copyload = load i64, ptr %.size_ptr3, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %9 = icmp sgt i64 %value_phi11238, 0 %10 = add nuw i64 %value_phi11238, 3 %11 = icmp sle i64 %10, %.size13.0.copyload ; ││││└ %or.cond256 = select i1 %9, i1 %11, i1 false br i1 %or.cond256, label %L61, label %L57 L57: ; preds = %L38 ; ││└└ store i64 %value_phi11238, ptr %"new::Tuple", align 1 ; ││┌ @ abstractarray.jl:697 within `checkbounds` call void @j_throw_boundserror_16870(ptr nonnull %2, ptr nocapture nonnull readonly %"new::Tuple") #6 unreachable L61: ; 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:560 within `getindex` ; │││┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:752 within `checkindex` ; │││││┌ @ int.jl:86 within `-` %12 = add nsw i64 %value_phi11238, -1 ; │││││└ ; │││││┌ @ int.jl:519 within `<` %.not135 = icmp ult i64 %12, %.size13.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:697 within `checkbounds` br i1 %.not135, label %L107, label %L76 L76: ; preds = %L61 ; ││└└ ; ││┌ @ indices.jl:536 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:358 within `map` ; │││││┌ @ range.jl:486 within `unchecked_oneto` store i64 %.size13.0.copyload, ptr %"new::LinearIndices", align 1 ; ││└└└└ ; ││┌ @ indices.jl:560 within `getindex` store i64 %value_phi11238, ptr %"new::Tuple18", align 1 ; │││┌ @ abstractarray.jl:697 within `checkbounds` call void @j_throw_boundserror_16868(ptr nocapture nonnull readonly %"new::LinearIndices", ptr nocapture nonnull readonly %"new::Tuple18") #6 unreachable L107: ; preds = %L61 ; ││└└ ; ││┌ @ abstractarray.jl:1263 within `pointer` @ abstractarray.jl:1260 ; │││┌ @ pointer.jl:63 within `cconvert` %13 = load ptr, ptr %2, align 8 ; │││└ ; │││ @ abstractarray.jl:1263 within `pointer` ; │││┌ @ pointer.jl:314 within `+` %14 = getelementptr i8, ptr %13, i64 %12 ; │└└└ ; │┌ @ /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 %14, 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:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:391 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` %.size22.0.copyload = load i64, ptr %.size_ptr, align 8 ; │││└└└└ ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %.not257.not = icmp sgt i64 %10, %.size22.0.copyload ; │││└└ ; │││ @ abstractarray.jl:697 within `checkbounds` br i1 %.not257.not, label %L109, label %L113 L109: ; preds = %L107 ; ││└ store i64 %value_phi11238, ptr %"new::Tuple20", align 1 ; ││┌ @ abstractarray.jl:697 within `checkbounds` call void @j_throw_boundserror_16869(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple20") #6 unreachable L113: ; preds = %L107 ; │└└ ; │ @ /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:560 within `getindex` ; │││┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:752 within `checkindex` ; │││││┌ @ int.jl:519 within `<` %.not136 = icmp ult i64 %12, %.size22.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:697 within `checkbounds` br i1 %.not136, label %L132, label %L128 L128: ; preds = %L113 ; ││└└ ; ││┌ @ indices.jl:536 within `LinearIndices` ; │││┌ @ abstractarray.jl:98 within `axes` ; ││││┌ @ tuple.jl:358 within `map` ; │││││┌ @ range.jl:486 within `unchecked_oneto` store i64 %.size22.0.copyload, ptr %"new::LinearIndices27", align 1 ; ││└└└└ ; ││┌ @ indices.jl:560 within `getindex` store i64 %value_phi11238, ptr %"new::Tuple28", align 1 ; │││┌ @ abstractarray.jl:697 within `checkbounds` call void @j_throw_boundserror_16868(ptr nocapture nonnull readonly %"new::LinearIndices27", ptr nocapture nonnull readonly %"new::Tuple28") #6 unreachable L132: ; preds = %L113 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; │┌ @ int.jl:86 within `-` %15 = add i64 %value_phi10237, 3 ; │└ ; │┌ @ range.jl:5 within `Colon` ; ││┌ @ range.jl:415 within `UnitRange` ; │││┌ @ range.jl:426 within `unitrange_last` ; ││││┌ @ operators.jl:472 within `>=` ; │││││┌ @ int.jl:520 within `<=` %.not137 = icmp sgt i64 %value_phi10237, 9223372036854775804 ; ││││└└ %16 = add i64 %value_phi10237, -1 %value_phi31 = select i1 %.not137, i64 %16, i64 %15 ; │└└└ ; │┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; ││┌ @ abstractarray.jl:391 within `eachindex` ; │││┌ @ abstractarray.jl:137 within `axes1` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ array.jl:194 within `size` %.size34.0.copyload = load i64, ptr %.size_ptr1, align 8 ; ││└└└└ ; ││┌ @ abstractarray.jl:755 within `checkindex` ; │││┌ @ range.jl:695 within `isempty` ; ││││┌ @ operators.jl:425 within `>` ; │││││┌ @ int.jl:83 within `<` %17 = icmp slt i64 %value_phi31, %value_phi10237 ; │││└└└ ; │││ @ abstractarray.jl:755 within `checkindex` @ abstractarray.jl:752 ; │││┌ @ int.jl:519 within `<` %18 = icmp ult i64 %16, %.size34.0.copyload ; │││└ ; │││┌ @ int.jl:86 within `-` %19 = add i64 %value_phi31, -1 ; │││└ ; │││┌ @ int.jl:519 within `<` %20 = icmp ult i64 %19, %.size34.0.copyload ; ││└└ ; ││ @ abstractarray.jl:697 within `checkbounds` %.not143.not262 = and i1 %18, %20 %.not140.not259 = or i1 %17, %.not143.not262 br i1 %.not140.not259, label %L175, label %L172 L172: ; preds = %L132 %"new::UnitRange.sroa.2.0..sroa_idx" = getelementptr inbounds i8, ptr %"new::Tuple32", i64 8 ; │└ ; │┌ @ range.jl:5 within `Colon` ; ││┌ @ range.jl:415 within `UnitRange` store i64 %value_phi31, ptr %"new::UnitRange.sroa.2.0..sroa_idx", align 1 store i64 %value_phi10237, ptr %"new::Tuple32", align 1 ; │└└ ; │┌ @ abstractarray.jl:697 within `checkbounds` call void @j_throw_boundserror_16867(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple32") #6 unreachable L175: ; 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:1263 within `pointer` @ abstractarray.jl:1260 ; │││┌ @ pointer.jl:63 within `cconvert` %21 = load ptr, ptr %4, align 8 ; │││└ ; │││ @ abstractarray.jl:1263 within `pointer` ; │││┌ @ abstractarray.jl:1267 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %22 = shl i64 %12, 3 ; │││└└ ; │││┌ @ pointer.jl:314 within `+` %23 = getelementptr i8, ptr %21, i64 %22 ; │└└└ ; │┌ @ /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.i131 = load <4 x double>, ptr %23, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; │┌ @ abstractarray.jl:1263 within `pointer` @ abstractarray.jl:1260 ; ││┌ @ pointer.jl:63 within `cconvert` %24 = load ptr, ptr %0, align 8 ; ││└ ; ││ @ abstractarray.jl:1263 within `pointer` ; ││┌ @ abstractarray.jl:1267 within `_memory_offset` ; │││┌ @ int.jl:88 within `*` %25 = shl i64 %16, 3 ; ││└└ ; ││┌ @ pointer.jl:314 within `+` %26 = getelementptr i8, ptr %24, i64 %25 ; │└└ ; │ @ /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.i131, ptr %26, <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 range(i4 0, 5) i4 @llvm.ctpop.i4(i4 %maski.i) %res.i133 = zext nneg i4 %maskipopcnt.i to i64 ; └└└└ ; ┌ @ int.jl:87 within `+` %27 = add i64 %value_phi10237, %res.i133 ; └ ; @ /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 `+` %28 = add nuw i64 %value_phi11238, 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 `<=` %.not134 = icmp sgt i64 %28, %5 ; └ br i1 %.not134, label %L193.preheader.loopexit, label %L38 L202: ; preds = %L257, %L202.lr.ph %value_phi48254 = phi i64 [ %value_phi11.lcssa, %L202.lr.ph ], [ %45, %L257 ] %value_phi47253 = phi i64 [ %value_phi10.lcssa, %L202.lr.ph ], [ %value_phi114, %L257 ] ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; ┌ @ essentials.jl:952 within `getindex` %29 = add i64 %value_phi48254, -1 %.not145 = icmp ult i64 %29, %.size52.0.copyload br i1 %.not145, label %L214, label %L211 L211: ; preds = %L202 store i64 %value_phi48254, ptr %"new::Tuple121", align 8 call void @j_throw_boundserror_16874(ptr nonnull %2, ptr nocapture nonnull readonly %"new::Tuple121") #6 unreachable L214: ; preds = %L202 ; │ @ essentials.jl:953 within `getindex` %memory_len = load i64, ptr %memoryref_mem, align 8 %30 = shl nuw i64 %memory_len, 1 %31 = add i64 %memory_len, %29 %memoryref_ovflw.not = icmp ult i64 %31, %30 %memoryref_data_offset = getelementptr i8, ptr %memoryref_data, i64 %29 %memory_data = load ptr, ptr %memory_data_ptr, align 8 %32 = ptrtoint ptr %memory_data to i64 %33 = ptrtoint ptr %memoryref_data_offset to i64 %34 = sub i64 %33, %32 %memoryref_isinbounds = icmp ult i64 %34, %memory_len %"memoryref_isinbounds¬ovflw" = and i1 %memoryref_ovflw.not, %memoryref_isinbounds br i1 %"memoryref_isinbounds¬ovflw", label %load, label %oob L221: ; 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:952 within `getindex` %.not148 = icmp ult i64 %29, %.size50.0.copyload br i1 %.not148, label %L233, label %L230 L230: ; preds = %L221 store i64 %value_phi48254, ptr %"new::Tuple118", align 8 call void @j_throw_boundserror_16873(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple118") #6 unreachable L233: ; preds = %L221 ; │ @ essentials.jl:953 within `getindex` %memory_len66 = load i64, ptr %memoryref_mem81, align 8 %35 = shl nuw nsw i64 %memory_len66, 1 %36 = add i64 %memory_len66, %29 %memoryref_ovflw67.not = icmp ult i64 %36, %35 %memoryref_data_offset68 = getelementptr double, ptr %memoryref_data63, i64 %29 %memory_data71 = load ptr, ptr %memory_data_ptr70, align 8 %37 = ptrtoint ptr %memory_data71 to i64 %38 = ptrtoint ptr %memoryref_data_offset68 to i64 %39 = sub i64 %38, %37 %memoryref_bytelen72 = shl nuw nsw i64 %memory_len66, 3 %memoryref_isinbounds73 = icmp ult i64 %39, %memoryref_bytelen72 %"memoryref_isinbounds¬ovflw74" = and i1 %memoryref_ovflw67.not, %memoryref_isinbounds73 br i1 %"memoryref_isinbounds¬ovflw74", label %idxend79, label %oob75 L248: ; preds = %idxend79 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ array.jl:990 within `_setindex!` store i64 %value_phi47253, ptr %"new::Tuple115", align 8 call void @j_throw_boundserror_16873(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple115") #6 unreachable L251: ; preds = %idxend79 ; ││ @ array.jl:991 within `_setindex!` %memory_len93 = load i64, ptr %memoryref_mem109, align 8 %40 = shl nuw nsw i64 %memory_len93, 1 %41 = add i64 %memory_len93, %51 %memoryref_ovflw94.not = icmp ult i64 %41, %40 %memoryref_data_offset95 = getelementptr double, ptr %memoryref_data90, i64 %51 %memory_data98 = load ptr, ptr %memory_data_ptr97, align 8 %42 = ptrtoint ptr %memory_data98 to i64 %43 = ptrtoint ptr %memoryref_data_offset95 to i64 %44 = sub i64 %43, %42 %memoryref_bytelen99 = shl nuw nsw i64 %memory_len93, 3 %memoryref_isinbounds100 = icmp ult i64 %44, %memoryref_bytelen99 %"memoryref_isinbounds¬ovflw101" = and i1 %memoryref_ovflw94.not, %memoryref_isinbounds100 br i1 %"memoryref_isinbounds¬ovflw101", label %idxend107, label %oob102 L257: ; preds = %idxend107, %load %value_phi114 = phi i64 [ %52, %idxend107 ], [ %value_phi47253, %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 `+` %45 = add i64 %value_phi48254, 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 `<=` %.not144 = icmp sgt i64 %45, %.size50.0.copyload ; └ br i1 %.not144, label %L264, label %L202 L261: ; preds = %top ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 %46 = call [1 x ptr] @j_AssertionError_16875(ptr nonnull @"jl_global#16876.jit") %gc_slot_addr_0 = getelementptr inbounds i8, ptr %gcframe2, i64 16 %47 = extractvalue [1 x ptr] %46, 0 store ptr %47, ptr %gc_slot_addr_0, align 8 %ptls_field = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(16) ptr @ijl_gc_small_alloc(ptr %ptls_load, i32 360, i32 16, i64 127642577508544) #14 %"box::AssertionError.tag_addr" = getelementptr inbounds i8, ptr %"box::AssertionError", i64 -8 store atomic i64 127642577508544, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %47, ptr %"box::AssertionError", align 8 store ptr null, ptr %gc_slot_addr_0, align 8 call void @ijl_throw(ptr nonnull %"box::AssertionError") unreachable L264: ; preds = %L257, %L193.preheader %frame.prev452 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev452, 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 = %L214 %gc_slot_addr_0429 = getelementptr inbounds i8, ptr %gcframe2, i64 16 store ptr %memoryref_mem, ptr %gc_slot_addr_0429, 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:953 within `getindex` %ptls_field441 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load442 = load ptr, ptr %ptls_field441, align 8 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load442, i32 408, i32 32, i64 127642650076912) #14 %"box::GenericMemoryRef.tag_addr" = getelementptr inbounds i8, ptr %"box::GenericMemoryRef", i64 -8 store atomic i64 127642650076912, ptr %"box::GenericMemoryRef.tag_addr" unordered, align 8 store ptr %memoryref_data, ptr %"box::GenericMemoryRef", align 8 %.repack146 = getelementptr inbounds i8, ptr %"box::GenericMemoryRef", i64 8 store ptr %memoryref_mem, ptr %.repack146, align 8 store ptr null, ptr %gc_slot_addr_0429, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef", i64 %value_phi48254) unreachable load: ; preds = %L214 %48 = load i8, ptr %memoryref_data_offset, align 1 %49 = trunc i8 %48 to i1 ; └ br i1 %49, label %L221, label %L257 oob75: ; preds = %L233 %gc_slot_addr_0431 = getelementptr inbounds i8, ptr %gcframe2, i64 16 store ptr %memoryref_mem81, ptr %gc_slot_addr_0431, align 8 ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; ┌ @ essentials.jl:953 within `getindex` %ptls_field445 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load446 = load ptr, ptr %ptls_field445, align 8 %"box::GenericMemoryRef78" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load446, i32 408, i32 32, i64 127642650061440) #14 %"box::GenericMemoryRef78.tag_addr" = getelementptr inbounds i8, ptr %"box::GenericMemoryRef78", i64 -8 store atomic i64 127642650061440, ptr %"box::GenericMemoryRef78.tag_addr" unordered, align 8 store ptr %memoryref_data63, ptr %"box::GenericMemoryRef78", align 8 %.repack149 = getelementptr inbounds i8, ptr %"box::GenericMemoryRef78", i64 8 store ptr %memoryref_mem81, ptr %.repack149, align 8 store ptr null, ptr %gc_slot_addr_0431, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef78", i64 %value_phi48254) unreachable idxend79: ; preds = %L233 %50 = load double, ptr %memoryref_data_offset68, align 8 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ array.jl:990 within `_setindex!` ; ││┌ @ int.jl:86 within `-` %51 = add i64 %value_phi47253, -1 ; ││└ ; ││┌ @ int.jl:519 within `<` %.not151 = icmp ult i64 %51, %.size87.0.copyload ; ││└ br i1 %.not151, label %L251, label %L248 oob102: ; preds = %L251 %gc_slot_addr_0433 = getelementptr inbounds i8, ptr %gcframe2, i64 16 store ptr %memoryref_mem109, ptr %gc_slot_addr_0433, align 8 ; ││ @ array.jl:991 within `_setindex!` %ptls_field449 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load450 = load ptr, ptr %ptls_field449, align 8 %"box::GenericMemoryRef106" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load450, i32 408, i32 32, i64 127642650061440) #14 %"box::GenericMemoryRef106.tag_addr" = getelementptr inbounds i8, ptr %"box::GenericMemoryRef106", i64 -8 store atomic i64 127642650061440, ptr %"box::GenericMemoryRef106.tag_addr" unordered, align 8 store ptr %memoryref_data90, ptr %"box::GenericMemoryRef106", align 8 %.repack152 = getelementptr inbounds i8, ptr %"box::GenericMemoryRef106", i64 8 store ptr %memoryref_mem109, ptr %.repack152, align 8 store ptr null, ptr %gc_slot_addr_0433, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef106", i64 %value_phi47253) unreachable idxend107: ; preds = %L251 store double %50, ptr %memoryref_data_offset95, 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 `+` %52 = add i64 %value_phi47253, 1 br label %L257 ; └ } .text .file "vcompress!" .section .ltext,"axl",@progbits .globl "japi1_vcompress!_16878" # -- Begin function japi1_vcompress!_16878 .p2align 4, 0x90 .type "japi1_vcompress!_16878",@function "japi1_vcompress!_16878": # @"japi1_vcompress!_16878" ; 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 #DEBUG_VALUE: vcompress!:dest <- undef #DEBUG_VALUE: vcompress!:pred <- undef #DEBUG_VALUE: vcompress!:src <- undef push rbp mov rbp, rsp push r15 push r14 push r13 push r12 push rbx sub rsp, 184 vxorps xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP lea rcx, [rbp - 80] vmovaps xmmword ptr [rbp - 80], xmm0 mov qword ptr [rbp - 64], 0 mov qword ptr [rbp - 224], rsi mov r14, qword ptr [rax - 8] mov qword ptr [rbp - 80], 4 mov rax, qword ptr [r14] mov qword ptr [rbp - 72], rax mov qword ptr [r14], 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:194 within `size` mov rdx, qword ptr [rdi + 16] ; │└└ ; │┌ @ tuple.jl:544 within `==` ; ││┌ @ tuple.jl:548 within `_eq` ; │││┌ @ range.jl:1145 within `==` @ promotion.jl:632 cmp qword ptr [rax + 16], rdx ; │└└└ jne .LBB0_36 # %bb.1: # %top mov rcx, qword ptr [rsi + 8] cmp rdx, qword ptr [rcx + 16] jne .LBB0_36 # %bb.2: # %L29 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:862 ; │┌ @ int.jl:87 within `+` lea rsi, [rdx - 3] mov r14d, 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:520 within `<=` test rsi, rsi ; │└ jle .LBB0_3 # %bb.9: # %L38.preheader xor edx, edx movabs r8, 9223372036854775804 jmp .LBB0_10 .p2align 4, 0x90 .LBB0_25: # %else29 # in Loop: Header=BB0_10 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 r9d, r10d ; │└└└└ ; │ @ /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 rdx, 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 r14, 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 rdx, rsi mov rdx, rbx ; │└ jg .LBB0_4 .LBB0_10: # %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:697 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:391 within `eachindex` ; │││││┌ @ abstractarray.jl:137 within `axes1` ; ││││││┌ @ abstractarray.jl:98 within `axes` ; │││││││┌ @ array.jl:194 within `size` lea r9, [rdx + 1] ; ││││└└└└ ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; │││││┌ @ int.jl:520 within `<=` test r9, r9 ; │││││└ jle .LBB0_44 # %bb.11: # %L38 # in Loop: Header=BB0_10 Depth=1 mov r10, qword ptr [rcx + 16] lea rbx, [rdx + 4] cmp rbx, r10 jg .LBB0_44 # %bb.12: # %L61 # in Loop: Header=BB0_10 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:560 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; │││││┌ @ abstractarray.jl:752 within `checkindex` ; ││││││┌ @ int.jl:519 within `<` cmp rdx, r10 ; │││││└└ ; │││││ @ abstractarray.jl:697 within `checkbounds` jae .LBB0_45 # %bb.13: # %L107 # in Loop: Header=BB0_10 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:697 within `checkbounds` @ abstractarray.jl:687 ; ││││┌ @ abstractarray.jl:391 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 `<=` cmp rbx, r10 ; ││││└└ ; ││││ @ abstractarray.jl:697 within `checkbounds` jg .LBB0_46 # %bb.14: # %L113 # in Loop: Header=BB0_10 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:560 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; │││││┌ @ abstractarray.jl:752 within `checkindex` ; ││││││┌ @ int.jl:519 within `<` cmp rdx, r10 ; │││││└└ ; │││││ @ abstractarray.jl:697 within `checkbounds` jae .LBB0_47 # %bb.15: # %L132 # in Loop: Header=BB0_10 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 [rcx] ; │ @ /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:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:391 within `eachindex` ; ││││┌ @ abstractarray.jl:137 within `axes1` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ array.jl:194 within `size` mov r15, qword ptr [rax + 16] ; ││└└└└└ ; ││┌ @ int.jl:86 within `-` lea r10, [r14 + 3] ; ││└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:415 within `UnitRange` ; ││││┌ @ range.jl:426 within `unitrange_last` ; │││││┌ @ operators.jl:472 within `>=` ; ││││││┌ @ int.jl:520 within `<=` cmp r14, r8 ; │└└└└└└ ; │ @ /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 + rdx] # 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` ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:415 within `UnitRange` ; ││││┌ @ range.jl:426 within `unitrange_last` lea r9, [r14 - 1] cmovg r10, r9 ; ││└└└ ; ││┌ @ abstractarray.jl:697 within `checkbounds` @ abstractarray.jl:687 ; │││┌ @ abstractarray.jl:755 within `checkindex` @ abstractarray.jl:752 ; ││││┌ @ int.jl:519 within `<` cmp r9, r15 ; ││││└ ; ││││┌ @ int.jl:86 within `-` lea r12, [r10 - 1] ; ││││└ ; ││││┌ @ int.jl:519 within `<` setb r11b cmp r12, r15 setb r15b ; ││││└ ; ││││ @ abstractarray.jl:755 within `checkindex` ; ││││┌ @ range.jl:695 within `isempty` ; │││││┌ @ operators.jl:425 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r10, r14 ; │││└└└└ ; │││ @ abstractarray.jl:697 within `checkbounds` jl .LBB0_17 # %bb.16: # %L132 # in Loop: Header=BB0_10 Depth=1 and r11b, r15b je .LBB0_48 .LBB0_17: # %L175 # in Loop: Header=BB0_10 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:1263 within `pointer` @ abstractarray.jl:1260 ; ││││┌ @ pointer.jl:63 within `cconvert` mov r10, qword ptr [rdi] ; │└└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; ││┌ @ abstractarray.jl:1263 within `pointer` ; │││┌ @ abstractarray.jl:1267 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` shl r9, 3 ; │││└└ ; │││┌ @ pointer.jl:314 within `+` add r9, 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 [r10 + 8*rdx] ; │└└└└ ; │┌ @ /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 r10d, xmm1 test r10b, 1 jne .LBB0_18 # %bb.19: # %else # in Loop: Header=BB0_10 Depth=1 test r10b, 2 jne .LBB0_20 .LBB0_21: # %else23 # in Loop: Header=BB0_10 Depth=1 test r10b, 4 jne .LBB0_22 .LBB0_23: # %else26 # in Loop: Header=BB0_10 Depth=1 test r10b, 8 je .LBB0_25 jmp .LBB0_24 .p2align 4, 0x90 .LBB0_18: # %cond.store # in Loop: Header=BB0_10 Depth=1 vmovlps qword ptr [r9], xmm0 add r9, 8 test r10b, 2 je .LBB0_21 .LBB0_20: # %cond.store22 # in Loop: Header=BB0_10 Depth=1 vmovhps qword ptr [r9], xmm0 add r9, 8 test r10b, 4 je .LBB0_23 .LBB0_22: # %cond.store25 # in Loop: Header=BB0_10 Depth=1 vextractf128 xmm1, ymm0, 1 vmovlps qword ptr [r9], xmm1 add r9, 8 test r10b, 8 je .LBB0_25 .LBB0_24: # %cond.store28 # in Loop: Header=BB0_10 Depth=1 vextractf128 xmm0, ymm0, 1 vmovhps qword ptr [r9], xmm0 jmp .LBB0_25 .LBB0_4: # %L193.preheader.loopexit mov rdx, qword ptr [rdi + 16] ; ││└└ ; ││ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:112 within `vstorec` inc rbx ; │└ ; │ @ /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 rbx, rdx ; │└ jg .LBB0_43 jmp .LBB0_6 .LBB0_3: mov ebx, 1 ; │┌ @ int.jl:520 within `<=` cmp rbx, rdx ; │└ jle .LBB0_6 .LBB0_43: # %L264 mov rcx, qword ptr [rbp - 72] 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, 184 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp vzeroupper ret .LBB0_6: # %L202.lr.ph mov r10, qword ptr [rdi + 8] mov r8, qword ptr [rcx] mov r9, qword ptr [rdi] mov rsi, qword ptr [rcx + 16] mov r13, qword ptr [rcx + 8] mov r12, qword ptr [rax + 8] mov qword ptr [rbp - 120], r10 # 8-byte Spill mov r10, qword ptr [rax + 16] mov qword ptr [rbp - 104], r8 # 8-byte Spill dec r8 mov qword ptr [rbp - 128], rsi # 8-byte Spill mov qword ptr [rbp - 88], r9 # 8-byte Spill mov qword ptr [rbp - 112], r10 # 8-byte Spill mov r10, qword ptr [rax] mov qword ptr [rbp - 96], r10 # 8-byte Spill ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:872 lea r10, [r9 + 8*rbx - 8] jmp .LBB0_7 .p2align 4, 0x90 .LBB0_38: # in Loop: Header=BB0_7 Depth=1 mov r12, rsi .LBB0_42: # %L257 # in Loop: Header=BB0_7 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 rbx ; │└ ; │ @ /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 r10, 8 cmp rbx, rdx ; │└ jg .LBB0_43 .LBB0_7: # %L202 # =>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:952 within `getindex` lea r11, [rbx - 1] cmp r11, qword ptr [rbp - 128] # 8-byte Folded Reload jae .LBB0_8 # %bb.26: # %L214 # in Loop: Header=BB0_7 Depth=1 ; ││ @ essentials.jl:953 within `getindex` mov r9, qword ptr [r13] mov rsi, r12 lea r15, [r9 + r9] lea r12, [rbx + r9 - 1] cmp r12, r15 jae .LBB0_28 # %bb.27: # %L214 # in Loop: Header=BB0_7 Depth=1 lea r15, [r8 + rbx] sub r15, qword ptr [r13 + 8] cmp r15, r9 jae .LBB0_28 # %bb.37: # %load # in Loop: Header=BB0_7 Depth=1 mov r9, qword ptr [rbp - 104] # 8-byte Reload ; │└ test byte ptr [r9 + rbx - 1], 1 je .LBB0_38 # %bb.29: # %L221 # in Loop: Header=BB0_7 Depth=1 mov r12, qword ptr [rbp - 120] # 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:952 within `getindex` cmp r11, rdx jae .LBB0_49 # %bb.30: # %L233 # in Loop: Header=BB0_7 Depth=1 ; ││ @ essentials.jl:953 within `getindex` mov r9, qword ptr [r12] lea r11, [r9 + r9] lea r15, [rbx + r9 - 1] cmp r15, r11 jae .LBB0_32 # %bb.31: # %L233 # in Loop: Header=BB0_7 Depth=1 mov r11, r10 sub r11, qword ptr [r12 + 8] shl r9, 3 cmp r11, r9 jae .LBB0_32 # %bb.39: # %idxend79 # in Loop: Header=BB0_7 Depth=1 ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:990 within `_setindex!` ; │││┌ @ int.jl:86 within `-` lea r11, [r14 - 1] ; │││└ ; │││┌ @ int.jl:519 within `<` cmp r11, qword ptr [rbp - 112] # 8-byte Folded Reload ; │││└ jae .LBB0_40 # %bb.33: # %L251 # in Loop: Header=BB0_7 Depth=1 ; │││ @ array.jl:991 within `_setindex!` mov r9, qword ptr [rsi] lea r15, [r9 + r9] lea r12, [r9 + r11] cmp r12, r15 mov r12, rsi jae .LBB0_35 # %bb.34: # %L251 # in Loop: Header=BB0_7 Depth=1 mov r15, qword ptr [rbp - 96] # 8-byte Reload shl r9, 3 lea r11, [r15 + 8*r11] mov r15, r11 sub r15, qword ptr [r12 + 8] cmp r15, r9 jae .LBB0_35 # %bb.41: # %idxend107 # in Loop: Header=BB0_7 Depth=1 mov r9, qword ptr [rbp - 88] # 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 r14 ; │└ ; │ @ /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*rbx - 8] # xmm0 = mem[0],zero ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:991 within `_setindex!` vmovsd qword ptr [r11], xmm0 jmp .LBB0_42 .LBB0_46: # %L109 ; │└└ ; │ @ /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:697 within `checkbounds` movabs rax, offset j_throw_boundserror_16888 lea rsi, [rbp - 176] ; │││└ mov qword ptr [rbp - 176], r9 ; │││┌ @ abstractarray.jl:697 within `checkbounds` vzeroupper call rax .LBB0_48: # %L172 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:697 within `checkbounds` movabs rcx, offset j_throw_boundserror_16886 lea rsi, [rbp - 216] mov rdi, rax ; ││└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:415 within `UnitRange` mov qword ptr [rbp - 208], r10 mov qword ptr [rbp - 216], r14 ; ││└└ ; ││┌ @ abstractarray.jl:697 within `checkbounds` vzeroupper call rcx .LBB0_47: # %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:560 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` movabs rax, offset j_throw_boundserror_16887 lea rdi, [rbp - 168] lea rsi, [rbp - 160] ; │││└└ ; │││┌ @ indices.jl:536 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:358 within `map` ; ││││││┌ @ range.jl:486 within `unchecked_oneto` mov qword ptr [rbp - 168], r10 ; │││└└└└ ; │││┌ @ indices.jl:560 within `getindex` mov qword ptr [rbp - 160], r9 ; ││││┌ @ abstractarray.jl:697 within `checkbounds` vzeroupper call rax .LBB0_45: # %L76 ; │└└└└ ; │ @ /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:560 within `getindex` ; ││││┌ @ abstractarray.jl:697 within `checkbounds` movabs rax, offset j_throw_boundserror_16887 lea rdi, [rbp - 192] lea rsi, [rbp - 184] ; │││└└ ; │││┌ @ indices.jl:536 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:358 within `map` ; ││││││┌ @ range.jl:486 within `unchecked_oneto` mov qword ptr [rbp - 192], r10 ; │││└└└└ ; │││┌ @ indices.jl:560 within `getindex` mov qword ptr [rbp - 184], r9 ; ││││┌ @ abstractarray.jl:697 within `checkbounds` vzeroupper call rax .LBB0_44: # %L57 ; ││└└└ ; ││ @ /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:697 within `checkbounds` movabs rax, offset j_throw_boundserror_16889 lea rsi, [rbp - 200] mov rdi, rcx ; │││└ mov qword ptr [rbp - 200], r9 ; │││┌ @ abstractarray.jl:697 within `checkbounds` vzeroupper call rax .LBB0_28: # %oob mov rax, qword ptr [rbp - 48] # 8-byte Reload mov qword ptr [rbp - 64], r13 movabs r14, 127642650061440 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:953 within `getindex` mov esi, 408 mov edx, 32 add r14, 15472 mov rcx, r14 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_small_alloc vzeroupper call rax mov rcx, qword ptr [rbp - 104] # 8-byte Reload mov qword ptr [rax - 8], r14 mov rdi, rax mov rsi, rbx mov qword ptr [rbp - 64], 0 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r13 call rcx .LBB0_8: # %L211 ; ││ @ essentials.jl:952 within `getindex` movabs rax, offset j_throw_boundserror_16893 lea rsi, [rbp - 136] mov rdi, rcx mov qword ptr [rbp - 136], rbx vzeroupper call rax .LBB0_35: # %oob102 mov rax, qword ptr [rbp - 48] # 8-byte Reload mov qword ptr [rbp - 64], r12 movabs rbx, 127642650061440 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:991 within `_setindex!` mov esi, 408 mov edx, 32 mov rcx, rbx mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_small_alloc vzeroupper call rax mov rcx, qword ptr [rbp - 96] # 8-byte Reload mov qword ptr [rax - 8], rbx mov rdi, rax mov rsi, r14 mov qword ptr [rbp - 64], 0 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r12 call rcx .LBB0_32: # %oob75 mov rax, qword ptr [rbp - 48] # 8-byte Reload mov qword ptr [rbp - 64], r12 movabs r14, 127642650061440 ; │└└ ; │┌ @ essentials.jl:953 within `getindex` mov esi, 408 mov edx, 32 mov rcx, r14 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_small_alloc vzeroupper call rax mov rcx, qword ptr [rbp - 88] # 8-byte Reload mov qword ptr [rax - 8], r14 mov rdi, rax mov rsi, rbx mov qword ptr [rbp - 64], 0 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r12 call rcx .LBB0_40: # %L248 ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:990 within `_setindex!` movabs rcx, offset j_throw_boundserror_16892 lea rsi, [rbp - 152] mov rdi, rax mov qword ptr [rbp - 152], r14 vzeroupper call rcx .LBB0_49: # %L230 ; │└└ ; │┌ @ essentials.jl:952 within `getindex` movabs rax, offset j_throw_boundserror_16892 lea rsi, [rbp - 144] mov qword ptr [rbp - 144], rbx vzeroupper call rax .LBB0_36: # %L261 ; │└ ; │ @ /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#16895.jit" movabs rax, offset j_AssertionError_16894 call rax mov qword ptr [rbp - 64], rax mov rbx, rax movabs rax, offset ijl_gc_small_alloc mov esi, 360 mov edx, 16 mov rdi, qword ptr [r14 + 16] movabs r14, 127642650061440 add r14, -72552896 mov rcx, r14 call rax movabs rcx, offset ijl_throw mov rdi, rax mov qword ptr [rax - 8], r14 mov qword ptr [rax], rbx mov qword ptr [rbp - 64], 0 call rcx .Lfunc_end0: .size "japi1_vcompress!_16878", .Lfunc_end0-"japi1_vcompress!_16878" ; └ # -- End function .set ".Ljl_global#16895.jit", 127642233732496 .size ".Ljl_global#16895.jit", 8 .set ".L+Core.AssertionError#16896.jit", 127642577508544 .size ".L+Core.AssertionError#16896.jit", 8 .set ".L+Core.GenericMemoryRef#16891.jit", 127642650061440 .size ".L+Core.GenericMemoryRef#16891.jit", 8 .set ".L+Core.GenericMemoryRef#16890.jit", 127642650076912 .size ".L+Core.GenericMemoryRef#16890.jit", 8 .section ".note.GNU-stack","",@progbits Test Summary: | Pass Total Time Real-world examples | 17 17 3.2s Test Summary: | Pass Total Time Vector shuffles | 222 222 2.2s Test Summary: | Pass Total Time Contiguous ReinterpretArrays load/store | 6 6 1.2s Test Summary: | Pass Total Time funnel shift | 6 6 0.1s Test Summary: | Pass Total Time fastmath min | 2 2 0.0s Testing SIMD tests passed Testing completed after 106.4s PkgEval succeeded after 157.43s