diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e635343..17e6d20 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,8 +11,8 @@ jobs: matrix: version: - '1' - - '1.5' - - 'nightly' + - 'lts' + - 'pre' os: - ubuntu-latest arch: diff --git a/.github/workflows/Downstream.yml b/.github/workflows/Downstream.yml index a84be3f..18be13a 100644 --- a/.github/workflows/Downstream.yml +++ b/.github/workflows/Downstream.yml @@ -22,7 +22,7 @@ jobs: - 1 - 4 - 10 - julia-version: [1,1.6] + julia-version: [1,'lts','pre'] os: [ubuntu-latest] package: - {user: JuliaSIMD, repo: LoopVectorization.jl, group: Interface} diff --git a/Project.toml b/Project.toml index bcf68b7..802aecc 100644 --- a/Project.toml +++ b/Project.toml @@ -6,17 +6,17 @@ version = "0.2.2" [deps] BitTwiddlingConvenienceFunctions = "62783981-4cbd-42fc-bca8-16325de8dc4b" CPUSummary = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -IfElse = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" ThreadingUtilities = "8290d209-cae3-49c0-8002-c8c24d57dab5" [compat] +Aqua = "0.8" BitTwiddlingConvenienceFunctions = "0.1" CPUSummary = "0.1.2, 0.2" -IfElse = "0.1" -Static = "0.3.1, 0.4, 0.5, 0.6, 0.7, 0.8, 1" -ThreadingUtilities = "0.4.5, 0.5" -julia = "1.5" +Static = "1" +Test = "<0.1, 1.10" +ThreadingUtilities = "0.5" +julia = "1.10" [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" diff --git a/src/PolyesterWeave.jl b/src/PolyesterWeave.jl index d7d2f03..6d4f434 100644 --- a/src/PolyesterWeave.jl +++ b/src/PolyesterWeave.jl @@ -7,41 +7,28 @@ end using BitTwiddlingConvenienceFunctions: nextpow2 using ThreadingUtilities: _atomic_store!, _atomic_or!, _atomic_xchg! using Static -using IfElse: ifelse export request_threads, free_threads! -@static if VERSION ≥ v"1.6.0-DEV.674" - @inline function assume(b::Bool) - Base.llvmcall( - ( - """ - declare void @llvm.assume(i1) - - define void @entry(i8 %byte) alwaysinline { - top: - %bit = trunc i8 %byte to i1 - call void @llvm.assume(i1 %bit) - ret void - } - """, - "entry" - ), - Cvoid, - Tuple{Bool}, - b - ) - end -else - @inline assume(b::Bool) = Base.llvmcall( - ( - "declare void @llvm.assume(i1)", - "%b = trunc i8 %0 to i1\ncall void @llvm.assume(i1 %b)\nret void" - ), - Cvoid, - Tuple{Bool}, - b - ) +@inline function assume(b::Bool) +Base.llvmcall( + ( + """ + declare void @llvm.assume(i1) + + define void @entry(i8 %byte) alwaysinline { + top: + %bit = trunc i8 %byte to i1 + call void @llvm.assume(i1 %bit) + ret void + } +""", + "entry" + ), + Cvoid, + Tuple{Bool}, + b +) end const WORKERS = Ref{NTuple{8,UInt64}}(ntuple(((zero ∘ UInt64)), Val(8)))