LoopVectorization: no method matching shufflevector

Am I doing something wrong?

julia> vmapreduce(==(3), max, [1,2,3])
true

julia> vmapreduce(==(3), max, [1,2,3,4])
ERROR: MethodError: no method matching shufflevector(::VectorizationBase.Mask{4, UInt8}, ::Val{(2, 3)})

Closest candidates are:
  shufflevector(::VectorizationBase.VecUnroll, ::Val{I}) where I
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:455
  shufflevector(::VectorizationBase.MM{W, X}, ::Val{I}) where {W, X, I}
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:124
  shufflevector(::VectorizationBase.Vec{W, T}, ::Val{I}) where {W, T, I}
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:81

Stacktrace:
     ⋮ internal @ VectorizationBase, LoopVectorization
 [7] vmapreduce(::Base.Fix2{typeof(==), Int64}, ::typeof(max), ::Vector{Int64})
   @ LoopVectorization ~/.julia/packages/LoopVectorization/7gWfp/src/simdfunctionals/mapreduce.jl:73
 [8] top-level scope
Use `err` to retrieve the full stack trace.

(jl_h42kip) pkg> st LoopVectorization
Status `/tmp/jl_h42kip/Project.toml`
  [bdcacae8] LoopVectorization v0.12.166

(jl_h42kip) pkg> registry up
    Updating registry at `~/.julia/registries/General.toml`

pkg> add LoopVectorization@0.12.168
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LoopVectorization [bdcacae8]:
 LoopVectorization [bdcacae8] log:
 ├─possible versions are: 0.1.0-0.12.166 or uninstalled
 └─restricted to versions 0.12.168 by an explicit requirement — no versions left

Can you do:

julia>  st -m --outdated

julia> versioninfo()

(@main) pkg> activate --temp
  Activating new project at `/tmp/jl_PANEU0`

(jl_PANEU0) pkg> add LoopVectorization
   Resolving package versions...
   Installed Adapt ─ v4.0.1
    Updating `/tmp/jl_PANEU0/Project.toml`
  [bdcacae8] + LoopVectorization v0.12.166
    Updating `/tmp/jl_PANEU0/Manifest.toml`
  [79e6a3ab] + Adapt v4.0.1
  [4fba245c] + ArrayInterface v7.7.0
  [62783981] + BitTwiddlingConvenienceFunctions v0.1.5
  [2a0fbf3d] + CPUSummary v0.2.4
  [fb6a15b2] + CloseOpenIntervals v0.1.12
  [34da2185] + Compat v4.12.0
  [adafc99b] + CpuId v0.3.1
  [ffbed154] + DocStringExtensions v0.9.3
  [3e5b6fbb] + HostCPUFeatures v0.1.16
  [615f187c] + IfElse v0.1.1
  [10f19ff3] + LayoutPointers v0.1.15
  [bdcacae8] + LoopVectorization v0.12.166
  [d125e4d3] + ManualMemory v0.1.8
  [6fe1bfb0] + OffsetArrays v1.13.0
  [1d0040c9] + PolyesterWeave v0.2.1
  [aea7be01] + PrecompileTools v1.2.0
  [21216c6a] + Preferences v1.4.1
  [ae029012] + Requires v1.3.0
  [94e857df] + SIMDTypes v0.1.0
  [476501e8] + SLEEFPirates v0.6.42
  [aedffcd0] + Static v0.8.8
  [0d7ed370] + StaticArrayInterface v1.5.0
  [8290d209] + ThreadingUtilities v0.5.2
  [3a884ed6] + UnPack v1.0.2
  [3d5dd08c] + VectorizationBase v0.21.65
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions v1.2.0
  [de0858da] + Printf
  [9a3f8284] + Random
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization
  [2f01184e] + SparseArrays v1.10.0
  [4607b0f0] + SuiteSparse
  [fa267f1f] + TOML v1.0.3
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll v1.0.5+1
  [e37daf67] + LibGit2_jll v1.6.4+0
  [29816b5a] + LibSSH2_jll v1.11.0+1
  [c8ffd9c3] + MbedTLS_jll v2.28.2+1
  [4536629a] + OpenBLAS_jll v0.3.23+2
  [bea87d4a] + SuiteSparse_jll v7.2.1+1
  [8e850b90] + libblastrampoline_jll v5.8.0+1
Precompiling project...
  2 dependencies successfully precompiled in 1 seconds. 30 already precompiled.

julia> using LoopVectorization

(jl_PANEU0) pkg> st
Status `/tmp/jl_PANEU0/Project.toml`
  [bdcacae8] LoopVectorization v0.12.166


(jl_PANEU0) pkg> add LoopVectorization@0.12.168
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LoopVectorization [bdcacae8]:
 LoopVectorization [bdcacae8] log:
 ├─possible versions are: 0.1.0-0.12.166 or uninstalled
 └─restricted to versions 0.12.168 by an explicit requirement — no versions left


(jl_PANEU0) pkg> st -m --outdated
Status `/tmp/jl_PANEU0/Manifest.toml`

julia> versioninfo()
Julia Version 1.10.0
Commit 3120989f39b (2023-12-25 18:01 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 24 × AMD Ryzen 9 3900XT 12-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, znver2)
  Threads: 17 on 24 virtual cores
Environment:
  JULIA_NUM_THREADS = 12
  JULIA_PKG_PRESERVE_TIERED_INSTALLED = 

And after installing LV from GitHub


julia> vmapreduce(==(3), max, [1,2,3])
true

julia> vmapreduce(==(3), max, [1,2,3,4])
ERROR: MethodError: no method matching shufflevector(::VectorizationBase.Mask{4, UInt8}, ::Val{(2, 3)})

Closest candidates are:
  shufflevector(::VectorizationBase.VecUnroll, ::Val{I}) where I
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:455
  shufflevector(::VectorizationBase.MM{W, X}, ::Val{I}) where {W, X, I}
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:124
  shufflevector(::VectorizationBase.Vec{W, T}, ::Val{I}) where {W, T, I}
   @ VectorizationBase ~/.julia/packages/VectorizationBase/xE5Tx/src/llvm_intrin/vector_ops.jl:81

Stacktrace:
     ⋮ internal @ VectorizationBase, LoopVectorization
 [7] vmapreduce(::Base.Fix2{typeof(==), Int64}, ::typeof(max), ::Vector{Int64})
   @ LoopVectorization ~/.julia/packages/LoopVectorization/4Y9RY/src/simdfunctionals/mapreduce.jl:73
Use `err` to retrieve the full stack trace.

(jl_flrFiI) pkg> st
Status `/tmp/jl_flrFiI/Project.toml`
  [bdcacae8] LoopVectorization v0.12.168 `https://github.com/JuliaSIMD/LoopVectorization.jl#main`

(jl_flrFiI) pkg> st -m --outdated
Status `/tmp/jl_flrFiI/Manifest.toml`