Package evaluation of SIMD on Julia 1.12.0-rc1.2 (995ff9db19*) started at 2025-07-14T10:57:35.149 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.08s ################################################################################ # Installation # Installing SIMD... Resolving package versions... Updating `~/.julia/environments/v1.12/Project.toml` [fdea26ae] + SIMD v3.7.1 Updating `~/.julia/environments/v1.12/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.89s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 12.42s ################################################################################ # Testing # Testing SIMD Status `/tmp/jl_vtqkSr/Project.toml` [fdea26ae] SIMD v3.7.1 [b77e0a4c] InteractiveUtils v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_vtqkSr/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.9s Test Summary: | Pass Total Time Type conversion | 8 8 1.2s Test Summary: | Pass Total Time Conversion and reinterpretation | 4 4 0.9s Test Summary: | Pass Total Time Element-wise access | 22 22 0.6s Test Summary: | Pass Total Time Integer arithmetic functions | 116 116 4.8s 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 4.1s Test Summary: | Pass Total Time Floating point arithmetic functions | 106 106 37.3s Test Summary: | Pass Total Time Type promotion | 88 88 1.3s Test Summary: | Pass Total Time Reduction operations | 21 21 1.3s 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.8s Test Summary: | Pass Total Time fastmath | 6 6 0.3s Test Summary: | Pass Total Time Gather and scatter function | 120 120 6.3s 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.5s ; 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_16583(ptr nocapture noundef nonnull readonly align 8 dereferenceable(40) %"xs::SubArray", ptr nocapture readonly %.roots.xs) #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 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 %.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:683 within `size` ; ││││││┌ @ range.jl:773 within `length` ; │││││││┌ @ range.jl:859 within `last` ; ││││││││┌ @ Base_compiler.jl:54 within `getproperty` %.stop_ptr = getelementptr inbounds i8, ptr %"xs::SubArray", i64 16 ; │││││││└└ ; │││││││ @ range.jl:776 within `length` ; │││││││┌ @ int.jl:86 within `-` %.stop_ptr.unbox = load i64, ptr %.stop_ptr, align 8 %.unbox = load i64, ptr %1, align 8 %2 = add i64 %.stop_ptr.unbox, 1 ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` %3 = sub i64 %2, %.unbox ; └└└└└└└└ ; ┌ @ promotion.jl:637 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` ; ┌ @ 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:683 within `size` ; ││││││┌ @ range.jl:776 within `length` ; │││││││┌ @ int.jl:86 within `-` %5 = sub i64 %.stop_ptr.unbox, %.unbox ; │││││││└ ; │││││││┌ @ int.jl:87 within `+` %6 = add i64 %5, 1 ; └└└└└└└└ ; ┌ @ 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:637 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 `<` %7 = icmp sgt i64 %6, 1 ; ││││└└ br i1 %7, label %L42, label %L122 L42: ; preds = %L22 ; ││││ @ range.jl:367 within `steprange_last` ; ││││┌ @ int.jl:302 within `rem` %8 = and i64 %5, 3 ; ││││└ ; ││││ @ range.jl:370 within `steprange_last` %9 = sub nsw i64 %6, %8 br label %L55 L55: ; preds = %L42, %L10 %value_phi = phi i64 [ %9, %L42 ], [ %6, %L10 ] ; └└└└ ; ┌ @ range.jl:917 within `iterate` ; │┌ @ range.jl:685 within `isempty` ; ││┌ @ bool.jl:40 within `&` %10 = icmp slt i64 %value_phi, 1 ; └└└ br i1 %10, label %L122, label %L69.preheader L69.preheader: ; preds = %L55 %11 = getelementptr inbounds i8, ptr %"xs::SubArray", i64 24 %.unbox12 = load i64, ptr %11, 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_phi6 = phi i64 [ %22, %L98 ], [ 1, %L69.preheader ] %value_phi8 = phi <4 x double> [ %21, %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 `<=` %12 = icmp sgt i64 %value_phi6, 0 ; ││││└ %13 = add i64 %value_phi6, 3 %14 = icmp sle i64 %13, %3 ; │││└ ; │││ @ abstractarray.jl:699 within `checkbounds` %narrow.not.not39 = and i1 %12, %14 br i1 %narrow.not.not39, label %L98, label %L94 L94: ; preds = %L69 %15 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 ; ││└ store i64 %value_phi6, ptr %"new::Tuple", align 8 ; ││┌ @ abstractarray.jl:699 within `checkbounds` store ptr %0, ptr %15, align 8 call void @j_throw_boundserror_16590(ptr nocapture nonnull readonly %"xs::SubArray", ptr nocapture nonnull readonly %15, ptr nocapture nonnull readonly %"new::Tuple") #5 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:503 within `pointer` ; │││┌ @ int.jl:87 within `+` %16 = add i64 %.unbox12, %value_phi6 ; │││└ ; │││ @ subarray.jl:503 within `pointer` @ abstractarray.jl:1258 @ abstractarray.jl:1255 ; │││┌ @ pointer.jl:63 within `cconvert` %17 = load ptr, ptr %0, align 8 ; │││└ ; │││ @ subarray.jl:503 within `pointer` @ abstractarray.jl:1258 ; │││┌ @ abstractarray.jl:1262 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %18 = shl i64 %16, 3 ; │││└└ ; │││┌ @ pointer.jl:314 within `+` %19 = getelementptr i8, ptr %17, i64 %18 %20 = getelementptr i8, ptr %19, 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 %20, 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` %21 = fadd <4 x double> %value_phi8, %res.i ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:793 within `vsum` ; ┌ @ range.jl:921 within `iterate` ; │┌ @ promotion.jl:637 within `==` %.not33.not = icmp eq i64 %value_phi6, %value_phi ; │└ %22 = add nuw i64 %value_phi6, 4 ; └ br i1 %.not33.not, label %L122, label %L69 L122: ; preds = %L98, %L55, %L22 %value_phi16 = phi <4 x double> [ zeroinitializer, %L55 ], [ zeroinitializer, %L22 ], [ %21, %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.prev48 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev48, ptr %tls_pgcstack, align 8 ret double %res.i29 L125: ; preds = %top ; └└└ ; @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:788 within `vsum` %23 = call [1 x ptr] @j_AssertionError_16592(ptr nonnull @"jl_global#16593.jit") %gc_slot_addr_1 = getelementptr inbounds ptr, ptr %gcframe1, i64 3 %24 = extractvalue [1 x ptr] %23, 0 store ptr %24, 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 135074915007296) #9 %"box::AssertionError.tag_addr" = getelementptr inbounds i64, ptr %"box::AssertionError", i64 -1 store atomic i64 135074915007296, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %24, 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_16617 # -- Begin function julia_vsum_16617 .p2align 4, 0x90 .type julia_vsum_16617,@function julia_vsum_16617: # @julia_vsum_16617 ; 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 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 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:517 within `axes` ; ││││┌ @ subarray.jl:522 within `_indices_sub` ; │││││┌ @ abstractarray.jl:98 within `axes` ; ││││││┌ @ range.jl:683 within `size` ; │││││││┌ @ range.jl:776 within `length` ; ││││││││┌ @ int.jl:86 within `-` mov rdx, qword ptr [rdi + 16] mov r8, qword ptr [rdi + 8] ; ││││││││└ ; ││││││││┌ @ int.jl:87 within `+` mov rax, rdx sub rax, r8 inc rax ; │└└└└└└└└ ; │┌ @ promotion.jl:637 within `==` test al, 3 ; │└ jne .LBB0_10 # %bb.1: # %L10 mov rcx, qword ptr [rsi] ; │ @ /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:637 within `==` sub rdx, r8 ; │└└└└└ ; │┌ @ 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:683 within `size` ; │││││││┌ @ range.jl:776 within `length` ; ││││││││┌ @ int.jl:87 within `+` lea r8, [rdx + 1] ; │└└└└└└└└ ; │┌ @ range.jl:22 within `Colon` ; ││┌ @ range.jl:24 within `_colon` ; │││┌ @ range.jl:391 within `StepRange` @ range.jl:336 ; ││││┌ @ range.jl:351 within `steprange_last` je .LBB0_4 # %bb.2: # %L22 ; │││││ @ range.jl:354 within `steprange_last` ; │││││┌ @ operators.jl:425 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r8, 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` sub r8, rdx .LBB0_4: # %L55 ; │└└└└ ; │┌ @ range.jl:917 within `iterate` ; ││┌ @ range.jl:685 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:699 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: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_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:921 within `iterate` ; ││┌ @ promotion.jl:637 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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_16624 lea rdx, [rbp - 56] ; │││└ mov qword ptr [rbp - 56], r9 ; │││┌ @ abstractarray.jl:699 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#16627.jit" movabs rax, offset j_AssertionError_16626 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, 135074915007296 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_16617, .Lfunc_end0-julia_vsum_16617 ; └ # -- End function .type ".L+Core.Float64#16619",@object # @"+Core.Float64#16619" .section .lrodata,"al",@progbits .p2align 3, 0x0 ".L+Core.Float64#16619": .quad ".L+Core.Float64#16619.jit" .size ".L+Core.Float64#16619", 8 .set ".Ljl_global#16627.jit", 135074462852688 .size ".Ljl_global#16627.jit", 8 .set ".L+Core.AssertionError#16628.jit", 135074915007296 .size ".L+Core.AssertionError#16628.jit", 8 .set ".L+Core.Float64#16619.jit", 135074994195664 .size ".L+Core.Float64#16619.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!_16761"(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::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 %gcframe1, align 8 %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 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:1134 within `==` @ promotion.jl:637 %.not.not = icmp eq i64 %.size2.0.copyload, %.size.0.copyload ; └└└ br i1 %.not.not, label %L27, label %L261 L27: ; preds = %top ; ┌ @ abstractarray.jl:98 within `axes` ; │┌ @ array.jl:194 within `size` %.size_ptr3 = getelementptr inbounds i8, ptr %2, i64 16 %.size4.0.copyload = load i64, ptr %.size_ptr3, align 8 ; └└ ; ┌ @ tuple.jl:544 within `==` ; │┌ @ tuple.jl:548 within `_eq` ; ││┌ @ range.jl:1134 within `==` @ promotion.jl:637 %.not = icmp eq i64 %.size.0.copyload, %.size4.0.copyload ; └└└ br i1 %.not, label %L29, label %L261 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 `+` %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 `<=` %.not134203 = icmp slt i64 %5, 1 ; └ br i1 %.not134203, label %L193.preheader, label %L38 L34.L193.preheader_crit_edge: ; preds = %L175 ; @ /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` %.size50.0.copyload207.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:866 br label %L193.preheader L193.preheader: ; preds = %L34.L193.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` %.size50.0.copyload = phi i64 [ %.size50.0.copyload207.pre, %L34.L193.preheader_crit_edge ], [ %.size.0.copyload, %L29 ] %value_phi10.lcssa = phi i64 [ %52, %L34.L193.preheader_crit_edge ], [ 1, %L29 ] %value_phi11.lcssa = phi i64 [ %53, %L34.L193.preheader_crit_edge ], [ 1, %L29 ] ; └└└└└ ; ┌ @ int.jl:520 within `<=` %.not138208 = icmp sgt i64 %value_phi11.lcssa, %.size50.0.copyload ; └ br i1 %.not138208, 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 { ptr, ptr }, ptr %2, i64 0, i32 1 %memoryref_mem = load ptr, ptr %6, align 8 %memoryref_data63 = load ptr, ptr %4, align 8 %7 = getelementptr inbounds { ptr, ptr }, ptr %4, i64 0, i32 1 %memoryref_mem81 = load ptr, ptr %7, align 8 %memory_data_ptr70 = getelementptr inbounds { i64, ptr }, ptr %memoryref_mem81, i64 0, i32 1 %.size87.0.copyload = load i64, ptr %.size_ptr1, align 8 %memoryref_data90 = load ptr, ptr %0, align 8 %8 = getelementptr inbounds { ptr, ptr }, ptr %0, i64 0, i32 1 %memoryref_mem109 = load ptr, ptr %8, align 8 %memory_data_ptr97 = getelementptr inbounds { i64, ptr }, ptr %memoryref_mem109, 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:919 within `getindex` %9 = add i64 %value_phi11.lcssa, -1 %.not139.peel = icmp ult i64 %9, %.size52.0.copyload br i1 %.not139.peel, label %L214.peel, label %L211 L214.peel: ; preds = %L202.lr.ph %memory_data_ptr = getelementptr inbounds { i64, ptr }, ptr %memoryref_mem, i64 0, i32 1 ; │ @ essentials.jl:920 within `getindex` %memory_len.peel = load i64, ptr %memoryref_mem, align 8 %10 = shl nuw i64 %memory_len.peel, 1 %11 = add i64 %memory_len.peel, %9 %memoryref_ovflw.not.peel = icmp ult i64 %11, %10 %memoryref_data_offset.peel = getelementptr i8, ptr %memoryref_data, i64 %9 %memory_data.peel = load ptr, ptr %memory_data_ptr, align 8 %12 = ptrtoint ptr %memory_data.peel to i64 %13 = ptrtoint ptr %memoryref_data_offset.peel to i64 %14 = sub i64 %13, %12 %memoryref_isinbounds.peel = icmp ult i64 %14, %memory_len.peel %"memoryref_isinbounds¬ovflw.peel" = and i1 %memoryref_ovflw.not.peel, %memoryref_isinbounds.peel br i1 %"memoryref_isinbounds¬ovflw.peel", label %load.peel, label %oob load.peel: ; preds = %L214.peel %15 = load i8, ptr %memoryref_data_offset.peel, align 1 %16 = and i8 %15, 1 %.not142.peel = icmp eq i8 %16, 0 ; └ br i1 %.not142.peel, label %L257.peel, label %L221.peel L221.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:919 within `getindex` %.not143.peel = icmp ult i64 %9, %.size50.0.copyload br i1 %.not143.peel, label %L233.peel, label %L230 L233.peel: ; preds = %L221.peel ; │ @ essentials.jl:920 within `getindex` %memory_len66.peel = load i64, ptr %memoryref_mem81, align 8 %17 = shl nuw nsw i64 %memory_len66.peel, 1 %18 = add nuw i64 %memory_len66.peel, %9 %memoryref_ovflw67.not.peel = icmp ult i64 %18, %17 %memoryref_data_offset68.peel = getelementptr double, ptr %memoryref_data63, i64 %9 %memory_data71.peel = load ptr, ptr %memory_data_ptr70, align 8 %19 = ptrtoint ptr %memory_data71.peel to i64 %20 = ptrtoint ptr %memoryref_data_offset68.peel to i64 %21 = sub i64 %20, %19 %memoryref_bytelen72.peel = shl nuw nsw i64 %memory_len66.peel, 3 %memoryref_isinbounds73.peel = icmp ult i64 %21, %memoryref_bytelen72.peel %"memoryref_isinbounds¬ovflw74.peel" = and i1 %memoryref_ovflw67.not.peel, %memoryref_isinbounds73.peel br i1 %"memoryref_isinbounds¬ovflw74.peel", label %idxend79.peel, label %oob75 idxend79.peel: ; preds = %L233.peel %.not320 = icmp eq i64 %memory_len66.peel, 0 br i1 %.not320, label %oob83, label %load84.peel load84.peel: ; preds = %idxend79.peel %22 = load double, ptr %memoryref_data_offset68.peel, align 8 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ array.jl:990 within `_setindex!` ; ││┌ @ int.jl:86 within `-` %23 = add i64 %value_phi10.lcssa, -1 ; ││└ ; ││┌ @ int.jl:519 within `<` %.not146.peel = icmp ult i64 %23, %.size87.0.copyload ; ││└ br i1 %.not146.peel, label %L251.peel, label %L248 L251.peel: ; preds = %load84.peel ; ││ @ array.jl:991 within `_setindex!` %memory_len93.peel = load i64, ptr %memoryref_mem109, align 8 %24 = shl nuw nsw i64 %memory_len93.peel, 1 %25 = add i64 %memory_len93.peel, %23 %memoryref_ovflw94.not.peel = icmp ult i64 %25, %24 %memoryref_data_offset95.peel = getelementptr double, ptr %memoryref_data90, i64 %23 %memory_data98.peel = load ptr, ptr %memory_data_ptr97, align 8 %26 = ptrtoint ptr %memory_data98.peel to i64 %27 = ptrtoint ptr %memoryref_data_offset95.peel to i64 %28 = sub i64 %27, %26 %memoryref_bytelen99.peel = shl nuw nsw i64 %memory_len93.peel, 3 %memoryref_isinbounds100.peel = icmp ult i64 %28, %memoryref_bytelen99.peel %"memoryref_isinbounds¬ovflw101.peel" = and i1 %memoryref_ovflw94.not.peel, %memoryref_isinbounds100.peel br i1 %"memoryref_isinbounds¬ovflw101.peel", label %idxend107.peel, label %oob102 idxend107.peel: ; preds = %L251.peel %.not321 = icmp eq i64 %memory_len93.peel, 0 br i1 %.not321, label %oob111, label %load112.peel load112.peel: ; preds = %idxend107.peel store double %22, ptr %memoryref_data_offset95.peel, 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 `+` %29 = add i64 %value_phi10.lcssa, 1 br label %L257.peel L257.peel: ; preds = %load112.peel, %load.peel %value_phi114.peel = phi i64 [ %29, %load112.peel ], [ %value_phi10.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 `+` %30 = add nuw i64 %value_phi11.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 `<=` %.not138.peel = icmp sgt i64 %30, %.size50.0.copyload ; └ br i1 %.not138.peel, label %L264, label %L202 L38: ; preds = %L175, %L29 %value_phi11205 = phi i64 [ %53, %L175 ], [ 1, %L29 ] %value_phi10204 = phi i64 [ %52, %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:699 within `checkbounds` @ abstractarray.jl:689 ; │││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:225 within `checkindex` ; ││││┌ @ int.jl:520 within `<=` %31 = icmp sgt i64 %value_phi11205, 0 ; ││││└ br i1 %31, label %L55, label %L57 L55: ; preds = %L38 ; │││└ ; │││┌ @ abstractarray.jl:389 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` ; ││││┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:219 within `last` ; │││││┌ @ int.jl:86 within `-` %32 = add nuw i64 %value_phi11205, 3 ; ││││└└ ; ││││┌ @ int.jl:520 within `<=` %.not318 = icmp sgt i64 %32, %.size13.0.copyload ; │││└└ ; │││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not318, label %L57, label %L61 L57: ; preds = %L55, %L38 %value_phi11205.lcssa = phi i64 [ -9223372036854775807, %L38 ], [ %value_phi11205, %L55 ] ; ││└ store i64 %value_phi11205.lcssa, ptr %"new::Tuple", align 8 ; ││┌ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_16772(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:560 within `getindex` ; │││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ abstractarray.jl:754 within `checkindex` ; │││││┌ @ int.jl:86 within `-` %33 = add nsw i64 %value_phi11205, -1 ; │││││└ ; │││││┌ @ int.jl:519 within `<` %.not135 = icmp ult i64 %33, %.size13.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:699 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:479 within `unchecked_oneto` store i64 %.size13.0.copyload, ptr %"new::LinearIndices", align 1 ; ││└└└└ ; ││┌ @ indices.jl:560 within `getindex` store i64 %value_phi11205, ptr %"new::Tuple18", align 1 ; │││┌ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_16770(ptr nocapture nonnull readonly %"new::LinearIndices", ptr nocapture nonnull readonly %"new::Tuple18") #7 unreachable L107: ; preds = %L61 ; ││└└ ; ││┌ @ abstractarray.jl:1258 within `pointer` @ abstractarray.jl:1255 ; │││┌ @ pointer.jl:63 within `cconvert` %34 = load ptr, ptr %2, align 8 ; │││└ ; │││ @ abstractarray.jl:1258 within `pointer` ; │││┌ @ pointer.jl:314 within `+` %35 = getelementptr i8, ptr %34, i64 %value_phi11205 %36 = getelementptr i8, ptr %35, i64 -1 ; │└└└ ; │┌ @ /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 %36, 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` %.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 `<=` %.not319 = icmp sgt i64 %32, %.size22.0.copyload ; │││└└ ; │││ @ abstractarray.jl:699 within `checkbounds` br i1 %.not319, label %L109, label %L113 L109: ; preds = %L107 ; ││└ store i64 %value_phi11205, ptr %"new::Tuple20", align 1 ; ││┌ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_16771(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple20") #7 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:699 within `checkbounds` @ abstractarray.jl:689 ; ││││┌ @ abstractarray.jl:754 within `checkindex` ; │││││┌ @ int.jl:519 within `<` %.not136 = icmp ult i64 %33, %.size22.0.copyload ; ││││└└ ; ││││ @ abstractarray.jl:699 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:479 within `unchecked_oneto` store i64 %.size22.0.copyload, ptr %"new::LinearIndices27", align 1 ; ││└└└└ ; ││┌ @ indices.jl:560 within `getindex` store i64 %value_phi11205, ptr %"new::Tuple28", align 1 ; │││┌ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_16770(ptr nocapture nonnull readonly %"new::LinearIndices27", ptr nocapture nonnull readonly %"new::Tuple28") #7 unreachable L132: ; preds = %L113 ; └└└└ ; ┌ @ /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` ; ││││┌ @ operators.jl:472 within `>=` ; │││││┌ @ int.jl:520 within `<=` %.not137 = icmp sgt i64 %value_phi10204, 9223372036854775804 ; ││││└└ %value_phi31.v = select i1 %.not137, i64 -1, i64 3 %value_phi31 = add i64 %value_phi31.v, %value_phi10204 ; │└└└ ; │┌ @ 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` %.size34.0.copyload = load i64, ptr %.size_ptr1, align 8 ; ││└└└└ ; ││┌ @ abstractarray.jl:757 within `checkindex` ; │││┌ @ range.jl:688 within `isempty` ; ││││┌ @ operators.jl:425 within `>` ; │││││┌ @ int.jl:83 within `<` %37 = icmp slt i64 %value_phi31, %value_phi10204 ; │││└└└ ; │││ @ abstractarray.jl:757 within `checkindex` @ abstractarray.jl:754 ; │││┌ @ int.jl:86 within `-` %38 = add i64 %value_phi10204, -1 ; │││└ ; │││┌ @ int.jl:519 within `<` %39 = icmp ult i64 %38, %.size34.0.copyload ; │││└ ; │││┌ @ int.jl:86 within `-` %40 = add i64 %value_phi31, -1 ; │││└ ; │││┌ @ int.jl:519 within `<` %41 = icmp ult i64 %40, %.size34.0.copyload ; │││└ ; │││ @ abstractarray.jl:757 within `checkindex` ; │││┌ @ bool.jl:40 within `&` %42 = and i1 %39, %41 ; │││└ ; │││┌ @ bool.jl:41 within `|` %43 = or i1 %37, %42 ; ││└└ ; ││ @ abstractarray.jl:699 within `checkbounds` br i1 %43, 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_phi10204, ptr %"new::Tuple32", align 1 store i64 %value_phi31, ptr %"new::UnitRange.sroa.2.0..sroa_idx", align 1 ; │└└ ; │┌ @ abstractarray.jl:699 within `checkbounds` call void @j_throw_boundserror_16769(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple32") #7 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:1258 within `pointer` @ abstractarray.jl:1255 ; │││┌ @ pointer.jl:63 within `cconvert` %44 = load ptr, ptr %4, align 8 ; │││└ ; │││ @ abstractarray.jl:1258 within `pointer` ; │││┌ @ abstractarray.jl:1262 within `_memory_offset` ; ││││┌ @ int.jl:88 within `*` %45 = shl i64 %value_phi11205, 3 ; │││└└ ; │││┌ @ pointer.jl:314 within `+` %46 = getelementptr i8, ptr %44, i64 %45 %47 = getelementptr i8, ptr %46, 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.i131 = load <4 x double>, ptr %47, align 8 ; └└└└ ; ┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:111 within `vstorec` ; │┌ @ abstractarray.jl:1258 within `pointer` @ abstractarray.jl:1255 ; ││┌ @ pointer.jl:63 within `cconvert` %48 = load ptr, ptr %0, align 8 ; ││└ ; ││ @ abstractarray.jl:1258 within `pointer` ; ││┌ @ abstractarray.jl:1262 within `_memory_offset` ; │││┌ @ int.jl:88 within `*` %49 = shl i64 %value_phi10204, 3 ; ││└└ ; ││┌ @ pointer.jl:314 within `+` %50 = getelementptr i8, ptr %48, i64 %49 %51 = getelementptr i8, ptr %50, i64 -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` %mask.i = trunc <4 x i8> %res.i to <4 x i1> call void @llvm.masked.compressstore.v4f64(<4 x double> %res.i131, ptr %51, <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.i133 = zext nneg i4 %maskipopcnt.i to i64 ; └└└└ ; ┌ @ int.jl:87 within `+` %52 = add i64 %value_phi10204, %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 `+` %53 = add nuw i64 %value_phi11205, 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 %53, %5 ; └ br i1 %.not134, label %L34.L193.preheader_crit_edge, label %L38 L202: ; preds = %L257, %L257.peel %value_phi48210 = phi i64 [ %68, %L257 ], [ %30, %L257.peel ] %value_phi47209 = phi i64 [ %value_phi114, %L257 ], [ %value_phi114.peel, %L257.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:919 within `getindex` %54 = add i64 %value_phi48210, -1 %.not139 = icmp ult i64 %54, %.size52.0.copyload br i1 %.not139, label %L214, label %L211 L211: ; preds = %L202, %L202.lr.ph %value_phi48.lcssa151 = phi i64 [ %value_phi11.lcssa, %L202.lr.ph ], [ %value_phi48210, %L202 ] store i64 %value_phi48.lcssa151, ptr %"new::Tuple121", align 8 call void @j_throw_boundserror_16776(ptr nonnull %2, ptr nocapture nonnull readonly %"new::Tuple121") #7 unreachable L214: ; preds = %L202 ; │ @ essentials.jl:920 within `getindex` %55 = add i64 %memory_len.peel, %54 %memoryref_ovflw.not = icmp ult i64 %55, %10 %memoryref_data_offset = getelementptr i8, ptr %memoryref_data, i64 %54 %56 = ptrtoint ptr %memoryref_data_offset to i64 %57 = sub i64 %56, %12 %memoryref_isinbounds = icmp ult i64 %57, %memory_len.peel %"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:919 within `getindex` %.not143 = icmp ult i64 %54, %.size50.0.copyload br i1 %.not143, label %L233, label %L230 L230: ; preds = %L221, %L221.peel %value_phi48.lcssa154 = phi i64 [ %value_phi11.lcssa, %L221.peel ], [ %value_phi48210, %L221 ] store i64 %value_phi48.lcssa154, ptr %"new::Tuple118", align 8 call void @j_throw_boundserror_16775(ptr nonnull %4, ptr nocapture nonnull readonly %"new::Tuple118") #7 unreachable L233: ; preds = %L221 ; │ @ essentials.jl:920 within `getindex` %memory_len66 = load i64, ptr %memoryref_mem81, align 8 %58 = shl nuw nsw i64 %memory_len66, 1 %59 = add i64 %memory_len66, %54 %memoryref_ovflw67.not = icmp ult i64 %59, %58 %memoryref_data_offset68 = getelementptr double, ptr %memoryref_data63, i64 %54 %memory_data71 = load ptr, ptr %memory_data_ptr70, align 8 %60 = ptrtoint ptr %memory_data71 to i64 %61 = ptrtoint ptr %memoryref_data_offset68 to i64 %62 = sub i64 %61, %60 %memoryref_bytelen72 = shl nuw nsw i64 %memory_len66, 3 %memoryref_isinbounds73 = icmp ult i64 %62, %memoryref_bytelen72 %"memoryref_isinbounds¬ovflw74" = and i1 %memoryref_ovflw67.not, %memoryref_isinbounds73 br i1 %"memoryref_isinbounds¬ovflw74", label %idxend79, label %oob75 L248: ; preds = %load84, %load84.peel %value_phi47.lcssa166 = phi i64 [ %value_phi10.lcssa, %load84.peel ], [ %value_phi47209, %load84 ] ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ array.jl:990 within `_setindex!` store i64 %value_phi47.lcssa166, ptr %"new::Tuple115", align 8 call void @j_throw_boundserror_16775(ptr nonnull %0, ptr nocapture nonnull readonly %"new::Tuple115") #7 unreachable L251: ; preds = %load84 ; ││ @ array.jl:991 within `_setindex!` %memory_len93 = load i64, ptr %memoryref_mem109, align 8 %63 = shl nuw nsw i64 %memory_len93, 1 %64 = add i64 %memory_len93, %74 %memoryref_ovflw94.not = icmp ult i64 %64, %63 %memoryref_data_offset95 = getelementptr double, ptr %memoryref_data90, i64 %74 %memory_data98 = load ptr, ptr %memory_data_ptr97, align 8 %65 = ptrtoint ptr %memory_data98 to i64 %66 = ptrtoint ptr %memoryref_data_offset95 to i64 %67 = sub i64 %66, %65 %memoryref_bytelen99 = shl nuw nsw i64 %memory_len93, 3 %memoryref_isinbounds100 = icmp ult i64 %67, %memoryref_bytelen99 %"memoryref_isinbounds¬ovflw101" = and i1 %memoryref_ovflw94.not, %memoryref_isinbounds100 br i1 %"memoryref_isinbounds¬ovflw101", label %idxend107, label %oob102 L257: ; preds = %load112, %load %value_phi114 = phi i64 [ %75, %load112 ], [ %value_phi47209, %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 `+` %68 = add i64 %value_phi48210, 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 `<=` %.not138 = icmp sgt i64 %68, %.size50.0.copyload ; └ br i1 %.not138, label %L264, label %L202 L261: ; 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 %69 = call [1 x ptr] @j_AssertionError_16777(ptr nonnull @"jl_global#16778.jit") %gc_slot_addr_0 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 %70 = extractvalue [1 x ptr] %69, 0 store ptr %70, 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 135074915007296) #14 %"box::AssertionError.tag_addr" = getelementptr inbounds i64, ptr %"box::AssertionError", i64 -1 store atomic i64 135074915007296, ptr %"box::AssertionError.tag_addr" unordered, align 8 store ptr %70, 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, %L257.peel, %L193.preheader %frame.prev420 = load ptr, ptr %frame.prev, align 8 store ptr %frame.prev420, 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, %L214.peel %value_phi48.lcssa152 = phi i64 [ %value_phi11.lcssa, %L214.peel ], [ %value_phi48210, %L214 ] %gc_slot_addr_0397 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %memoryref_mem, ptr %gc_slot_addr_0397, 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:920 within `getindex` %ptls_field409 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load410 = load ptr, ptr %ptls_field409, align 8 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load410, i32 408, i32 32, i64 135074965185232) #14 %"box::GenericMemoryRef.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef", i64 -1 store atomic i64 135074965185232, ptr %"box::GenericMemoryRef.tag_addr" unordered, align 8 store ptr %memoryref_data, ptr %"box::GenericMemoryRef", align 8 %.repack140 = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef", i64 0, i32 1 store ptr %memoryref_mem, ptr %.repack140, align 8 store ptr null, ptr %gc_slot_addr_0397, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef", i64 %value_phi48.lcssa152) unreachable load: ; preds = %L214 %71 = load i8, ptr %memoryref_data_offset, align 1 %72 = and i8 %71, 1 %.not142 = icmp eq i8 %72, 0 ; └ br i1 %.not142, label %L257, label %L221 oob75: ; preds = %L233, %L233.peel %value_phi48.lcssa155 = phi i64 [ %value_phi11.lcssa, %L233.peel ], [ %value_phi48210, %L233 ] %gc_slot_addr_0399 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %memoryref_mem81, ptr %gc_slot_addr_0399, 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:920 within `getindex` %ptls_field413 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load414 = load ptr, ptr %ptls_field413, align 8 %"box::GenericMemoryRef78" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load414, i32 408, i32 32, i64 135074965163888) #14 %"box::GenericMemoryRef78.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef78", i64 -1 store atomic i64 135074965163888, ptr %"box::GenericMemoryRef78.tag_addr" unordered, align 8 store ptr %memoryref_data63, ptr %"box::GenericMemoryRef78", align 8 %.repack144 = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef78", i64 0, i32 1 store ptr %memoryref_mem81, ptr %.repack144, align 8 store ptr null, ptr %gc_slot_addr_0399, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef78", i64 %value_phi48.lcssa155) unreachable idxend79: ; preds = %L233 %.not322 = icmp eq i64 %memory_len66, 0 br i1 %.not322, label %oob83, label %load84 oob83: ; preds = %idxend79, %idxend79.peel call void @ijl_bounds_error_int(ptr %memoryref_mem81, i64 1) unreachable load84: ; preds = %idxend79 %73 = load double, ptr %memoryref_data_offset68, align 8 ; └ ; ┌ @ array.jl:986 within `setindex!` ; │┌ @ array.jl:990 within `_setindex!` ; ││┌ @ int.jl:86 within `-` %74 = add i64 %value_phi47209, -1 ; ││└ ; ││┌ @ int.jl:519 within `<` %.not146 = icmp ult i64 %74, %.size87.0.copyload ; ││└ br i1 %.not146, label %L251, label %L248 oob102: ; preds = %L251, %L251.peel %value_phi47.lcssa167 = phi i64 [ %value_phi10.lcssa, %L251.peel ], [ %value_phi47209, %L251 ] %gc_slot_addr_0401 = getelementptr inbounds ptr, ptr %gcframe1, i64 2 store ptr %memoryref_mem109, ptr %gc_slot_addr_0401, align 8 ; ││ @ array.jl:991 within `_setindex!` %ptls_field417 = getelementptr inbounds i8, ptr %tls_pgcstack, i64 16 %ptls_load418 = load ptr, ptr %ptls_field417, align 8 %"box::GenericMemoryRef106" = call noalias nonnull align 8 dereferenceable(32) ptr @ijl_gc_small_alloc(ptr %ptls_load418, i32 408, i32 32, i64 135074965163888) #14 %"box::GenericMemoryRef106.tag_addr" = getelementptr inbounds i64, ptr %"box::GenericMemoryRef106", i64 -1 store atomic i64 135074965163888, ptr %"box::GenericMemoryRef106.tag_addr" unordered, align 8 store ptr %memoryref_data90, ptr %"box::GenericMemoryRef106", align 8 %.repack147 = getelementptr inbounds { ptr, ptr }, ptr %"box::GenericMemoryRef106", i64 0, i32 1 store ptr %memoryref_mem109, ptr %.repack147, align 8 store ptr null, ptr %gc_slot_addr_0401, align 8 call void @ijl_bounds_error_int(ptr nonnull %"box::GenericMemoryRef106", i64 %value_phi47.lcssa167) unreachable idxend107: ; preds = %L251 %.not323 = icmp eq i64 %memory_len93, 0 br i1 %.not323, label %oob111, label %load112 oob111: ; preds = %idxend107, %idxend107.peel call void @ijl_bounds_error_int(ptr %memoryref_mem109, i64 1) unreachable load112: ; preds = %idxend107 store double %73, 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 `+` %75 = add i64 %value_phi47209, 1 br label %L257 ; └ } .text .file "vcompress!" .section .ltext,"axl",@progbits .globl "japi1_vcompress!_16780" # -- Begin function japi1_vcompress!_16780 .p2align 4, 0x90 .type "japi1_vcompress!_16780",@function "japi1_vcompress!_16780": # @"japi1_vcompress!_16780" ; 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, 216 vxorps xmm0, xmm0, xmm0 #APP mov rax, qword ptr fs:[0] #NO_APP lea rcx, [rbp - 96] vmovaps xmmword ptr [rbp - 96], xmm0 mov qword ptr [rbp - 80], 0 mov qword ptr [rbp - 256], rsi mov r14, qword ptr [rax - 8] mov qword ptr [rbp - 96], 4 mov rax, qword ptr [r14] mov qword ptr [rbp - 88], 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:544 within `==` ; ││┌ @ tuple.jl:548 within `_eq` ; │││┌ @ range.jl:1134 within `==` @ promotion.jl:637 cmp qword ptr [rax + 16], rdx ; │└└└ jne .LBB0_58 # %bb.1: # %L27 mov rdi, qword ptr [rsi + 8] ; │┌ @ tuple.jl:544 within `==` ; ││┌ @ tuple.jl:548 within `_eq` ; │││┌ @ range.jl:1134 within `==` @ promotion.jl:637 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: # %else34 # 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:560 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: # %L107 # 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: # %L113 # 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:560 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: # %L132 # 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:415 within `UnitRange` ; ││││┌ @ range.jl:426 within `unitrange_last` ; │││││┌ @ operators.jl:472 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:415 within `UnitRange` ; ││││┌ @ range.jl:426 within `unitrange_last` ; │││││┌ @ operators.jl:472 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:415 within `UnitRange` ; ││││┌ @ range.jl:426 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:688 within `isempty` ; │││││┌ @ operators.jl:425 within `>` ; ││││││┌ @ int.jl:83 within `<` cmp r9, rbx ; │││└└└└ ; │││ @ abstractarray.jl:699 within `checkbounds` jl .LBB0_32 # %bb.31: # %L132 # in Loop: Header=BB0_25 Depth=1 and r10b, r11b je .LBB0_71 .LBB0_32: # %L175 # 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:1258 within `pointer` @ abstractarray.jl:1255 ; ││││┌ @ pointer.jl:63 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:1258 within `pointer` @ abstractarray.jl:1255 ; │││┌ @ pointer.jl:63 within `cconvert` mov r9, qword ptr [rax] ; │││└ ; │││ @ abstractarray.jl:1258 within `pointer` ; │││┌ @ pointer.jl:314 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 jne .LBB0_33 # %bb.34: # %else # in Loop: Header=BB0_25 Depth=1 test r9b, 2 jne .LBB0_35 .LBB0_36: # %else28 # in Loop: Header=BB0_25 Depth=1 test r9b, 4 jne .LBB0_37 .LBB0_38: # %else31 # in Loop: Header=BB0_25 Depth=1 test r9b, 8 je .LBB0_40 jmp .LBB0_39 .p2align 4, 0x90 .LBB0_33: # %cond.store # in Loop: Header=BB0_25 Depth=1 vmovlps qword ptr [r10], xmm0 add r10, 8 test r9b, 2 je .LBB0_36 .LBB0_35: # %cond.store27 # in Loop: Header=BB0_25 Depth=1 vmovhps qword ptr [r10], xmm0 add r10, 8 test r9b, 4 je .LBB0_38 .LBB0_37: # %cond.store30 # in Loop: Header=BB0_25 Depth=1 vextractf128 xmm1, ymm0, 1 vmovlps qword ptr [r10], xmm1 add r10, 8 test r9b, 8 je .LBB0_40 .LBB0_39: # %cond.store33 # in Loop: Header=BB0_25 Depth=1 vextractf128 xmm0, ymm0, 1 vmovhps qword ptr [r10], xmm0 jmp .LBB0_40 .LBB0_4: # %L34.L193.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: # %L202.lr.ph mov rsi, 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:919 within `getindex` lea r11, [r14 - 1] mov qword ptr [rbp - 160], rsi # 8-byte Spill cmp r11, rsi jae .LBB0_23 # %bb.7: # %L214.peel mov r12, qword ptr [rdi + 8] mov rsi, qword ptr [rdi] ; ││ @ essentials.jl:920 within `getindex` mov r8, qword ptr [r12] mov qword ptr [rbp - 112], rsi # 8-byte Spill mov qword ptr [rbp - 136], r12 # 8-byte Spill lea r9, [r8 + r8] lea r10, [r8 + r11] mov qword ptr [rbp - 152], r9 # 8-byte Spill cmp r10, r9 jae .LBB0_43 # %bb.8: # %L214.peel mov r9, qword ptr [r12 + 8] lea r10, [rsi + r11] mov r15, r10 sub r15, r9 mov qword ptr [rbp - 144], 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 r12, qword ptr [rax] 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 - 104], r12 # 8-byte Spill mov qword ptr [rbp - 120], r15 # 8-byte Spill mov r15, qword ptr [rax + 8] mov qword ptr [rbp - 56], r15 # 8-byte Spill ; │└ je .LBB0_19 # %bb.10: # %L221.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:919 within `getindex` cmp r11, rdx jae .LBB0_49 # %bb.11: # %L233.peel mov r12, qword ptr [rbp - 64] # 8-byte Reload ; ││ @ essentials.jl:920 within `getindex` mov r10, qword ptr [r12] lea r15, [r10 + r10] lea r13, [r10 + r11] cmp r13, r15 jae .LBB0_52 # %bb.12: # %L233.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: # %idxend79.peel test r10, r10 je .LBB0_72 # %bb.14: # %load84.peel ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:990 within `_setindex!` ; │││┌ @ int.jl:86 within `-` lea r15, [rbx - 1] ; │││└ ; │││┌ @ int.jl:519 within `<` cmp r15, qword ptr [rbp - 120] # 8-byte Folded Reload ; │││└ jae .LBB0_61 # %bb.15: # %L251.peel mov r12, qword ptr [rbp - 56] # 8-byte Reload mov qword ptr [rbp - 128], r9 # 8-byte Spill ; │││ @ array.jl:991 within `_setindex!` mov r10, qword ptr [r12] lea r13, [r10 + r10] lea r11, [r10 + r15] cmp r11, r13 jae .LBB0_57 # %bb.16: # %L251.peel mov r9, qword ptr [rbp - 104] # 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: # %idxend107.peel mov r9, qword ptr [rbp - 128] # 8-byte Reload test r10, r10 je .LBB0_73 # %bb.18: # %load112.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:986 within `setindex!` ; ││┌ @ array.jl:991 within `_setindex!` vmovsd qword ptr [r13], xmm0 .LBB0_19: # %L257.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: # %L264 mov rcx, qword ptr [rbp - 88] 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, 216 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp vzeroupper ret .LBB0_20: # %L202.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:919 within `getindex` mov r13, rsi mov r9, qword ptr [rbp - 72] # 8-byte Reload sub r13, qword ptr [rbp - 144] # 8-byte Folded Reload lea r14, [r9 + 8*r14] jmp .LBB0_21 .p2align 4, 0x90 .LBB0_63: # %load112 # 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:986 within `setindex!` ; ││┌ @ array.jl:991 within `_setindex!` vmovsd qword ptr [r15], xmm0 .LBB0_64: # %L257 # 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: # %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:919 within `getindex` lea r10, [r11 - 1] cmp r10, qword ptr [rbp - 160] # 8-byte Folded Reload jae .LBB0_22 # %bb.41: # %L214 # in Loop: Header=BB0_21 Depth=1 ; ││ @ essentials.jl:920 within `getindex` lea r15, [r8 + r11 - 1] cmp r15, qword ptr [rbp - 152] # 8-byte Folded Reload jae .LBB0_42 # %bb.44: # %L214 # 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: # %L221 # 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:919 within `getindex` cmp r10, rdx jae .LBB0_48 # %bb.50: # %L233 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 64] # 8-byte Reload ; ││ @ essentials.jl:920 within `getindex` mov r10, qword ptr [rsi] lea r15, [r10 + r10] lea r12, [r11 + r10 - 1] cmp r12, r15 jae .LBB0_51 # %bb.53: # %L233 # 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: # %idxend79 # in Loop: Header=BB0_21 Depth=1 test r10, r10 je .LBB0_72 # %bb.60: # %load84 # in Loop: Header=BB0_21 Depth=1 ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:990 within `_setindex!` ; │││┌ @ int.jl:86 within `-` lea r15, [rbx - 1] ; │││└ ; │││┌ @ int.jl:519 within `<` cmp r15, qword ptr [rbp - 120] # 8-byte Folded Reload ; │││└ jae .LBB0_61 # %bb.55: # %L251 # in Loop: Header=BB0_21 Depth=1 mov r9, qword ptr [rbp - 56] # 8-byte Reload ; │││ @ array.jl:991 within `_setindex!` mov r10, qword ptr [r9] lea r12, [r10 + r10] lea rsi, [r10 + r15] cmp rsi, r12 jae .LBB0_57 # %bb.56: # %L251 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 104] # 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: # %idxend107 # in Loop: Header=BB0_21 Depth=1 mov rsi, qword ptr [rbp - 112] # 8-byte Reload test r10, r10 jne .LBB0_63 .LBB0_73: # %oob111 mov rdi, qword ptr [rbp - 56] # 8-byte Reload movabs rax, offset ijl_bounds_error_int mov esi, 1 vzeroupper call rax .LBB0_69: # %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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_16790 lea rsi, [rbp - 208] mov rdi, rcx ; │││└ mov qword ptr [rbp - 208], r9 ; │││┌ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_71: # %L172 ; │└└└ ; │┌ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/src/arrayops.jl:109 within `vstorec` ; ││┌ @ abstractarray.jl:699 within `checkbounds` movabs rcx, offset j_throw_boundserror_16788 lea rsi, [rbp - 248] mov rdi, rax ; ││└ ; ││┌ @ range.jl:5 within `Colon` ; │││┌ @ range.jl:415 within `UnitRange` mov qword ptr [rbp - 248], rbx mov qword ptr [rbp - 240], r9 ; ││└└ ; ││┌ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rcx .LBB0_70: # %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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_16789 lea rdi, [rbp - 200] lea rsi, [rbp - 192] ; │││└└ ; │││┌ @ indices.jl:536 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:358 within `map` ; ││││││┌ @ range.jl:479 within `unchecked_oneto` mov qword ptr [rbp - 200], r10 ; │││└└└└ ; │││┌ @ indices.jl:560 within `getindex` mov qword ptr [rbp - 192], r9 ; ││││┌ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_68: # %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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_16789 lea rdi, [rbp - 224] lea rsi, [rbp - 216] ; │││└└ ; │││┌ @ indices.jl:536 within `LinearIndices` ; ││││┌ @ abstractarray.jl:98 within `axes` ; │││││┌ @ tuple.jl:358 within `map` ; ││││││┌ @ range.jl:479 within `unchecked_oneto` mov qword ptr [rbp - 224], r10 ; │││└└└└ ; │││┌ @ indices.jl:560 within `getindex` mov qword ptr [rbp - 216], r9 ; ││││┌ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_66: # %L57split add rdx, 5 mov r9, rdx .LBB0_67: # %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:699 within `checkbounds` movabs rax, offset j_throw_boundserror_16791 lea rsi, [rbp - 232] ; │││└ mov qword ptr [rbp - 232], r9 ; │││┌ @ abstractarray.jl:699 within `checkbounds` vzeroupper call rax .LBB0_22: mov r14, r11 .LBB0_23: # %L211 ; │└└└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:919 within `getindex` movabs rax, offset j_throw_boundserror_16795 lea rsi, [rbp - 168] mov qword ptr [rbp - 168], r14 vzeroupper call rax .LBB0_72: # %oob83 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:920 within `getindex` movabs rax, offset ijl_bounds_error_int mov esi, 1 vzeroupper call rax .LBB0_57: # %oob102 mov r15, qword ptr [rbp - 56] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs r14, 135074965163888 ; │└ ; │┌ @ array.jl:986 within `setindex!` ; ││┌ @ array.jl:991 within `_setindex!` mov esi, 408 mov edx, 32 mov rcx, r14 mov qword ptr [rbp - 80], r15 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 - 80], 0 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r15 call rcx .LBB0_61: # %L248 ; │││ @ array.jl:990 within `_setindex!` movabs rcx, offset j_throw_boundserror_16794 lea rsi, [rbp - 184] mov rdi, rax mov qword ptr [rbp - 184], rbx vzeroupper call rcx .LBB0_45: mov r14, r11 jmp .LBB0_43 .LBB0_48: mov r14, r11 .LBB0_49: # %L230 ; │└└ ; │┌ @ essentials.jl:919 within `getindex` movabs rax, offset j_throw_boundserror_16794 lea rsi, [rbp - 176] mov rdi, rcx mov qword ptr [rbp - 176], r14 vzeroupper call rax .LBB0_42: mov r14, r11 .LBB0_43: # %oob mov r15, qword ptr [rbp - 136] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs rbx, 135074965163888 ; │└ ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:873 ; │┌ @ essentials.jl:920 within `getindex` mov esi, 408 mov edx, 32 add rbx, 21344 mov rcx, rbx mov qword ptr [rbp - 80], r15 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_small_alloc vzeroupper call rax mov rcx, qword ptr [rbp - 112] # 8-byte Reload mov qword ptr [rax - 8], rbx mov rdi, rax mov rsi, r14 mov qword ptr [rbp - 80], 0 mov qword ptr [rax], rcx movabs rcx, offset ijl_bounds_error_int mov qword ptr [rax + 8], r15 call rcx .LBB0_58: # %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#16797.jit" movabs rax, offset j_AssertionError_16796 call rax mov qword ptr [rbp - 80], 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, 135074965163888 add r14, -50156592 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 - 80], 0 call rcx .LBB0_51: mov r14, r11 jmp .LBB0_52 .LBB0_54: mov r14, r11 .LBB0_52: # %oob75 mov r15, qword ptr [rbp - 64] # 8-byte Reload mov rax, qword ptr [rbp - 48] # 8-byte Reload movabs rbx, 135074965163888 ; │ @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:861 within `vcompress!` @ /home/pkgeval/.julia/packages/SIMD/hyXY3/test/runtests.jl:874 ; │┌ @ essentials.jl:920 within `getindex` mov esi, 408 mov edx, 32 mov rcx, rbx mov qword ptr [rbp - 80], r15 mov rdi, qword ptr [rax + 16] movabs rax, offset ijl_gc_small_alloc 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 [rbp - 80], 0 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!_16780", .Lfunc_end0-"japi1_vcompress!_16780" ; └└ # -- End function .set ".Ljl_global#16797.jit", 135074440152080 .size ".Ljl_global#16797.jit", 8 .set ".L+Core.AssertionError#16798.jit", 135074915007296 .size ".L+Core.AssertionError#16798.jit", 8 .set ".L+Core.GenericMemoryRef#16793.jit", 135074965163888 .size ".L+Core.GenericMemoryRef#16793.jit", 8 .set ".L+Core.GenericMemoryRef#16792.jit", 135074965185232 .size ".L+Core.GenericMemoryRef#16792.jit", 8 .section ".note.GNU-stack","",@progbits Test Summary: | Pass Total Time Real-world examples | 17 17 2.7s Test Summary: | Pass Total Time Vector shuffles | 222 222 2.4s Test Summary: | Pass Total Time Contiguous ReinterpretArrays load/store | 6 6 1.2s Test Summary: | Pass Total Time funnel shift | 6 6 0.2s Test Summary: | Pass Total Time fastmath min | 2 2 0.0s Testing SIMD tests passed Testing completed after 104.82s PkgEval succeeded after 138.99s