From 27c4e29975df51ce390ae3c62dcd54913abeddb4 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 25 Feb 2026 11:41:51 -0400 Subject: [PATCH 1/3] Fix SPIRV tests after 1.12.5 Potentially related to https://github.com/JuliaLang/julia/pull/60695 --- test/spirv.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/spirv.jl b/test/spirv.jl index e8903140..0c64d3ca 100644 --- a/test/spirv.jl +++ b/test/spirv.jl @@ -133,14 +133,16 @@ end # TODO: should structs of `NTuple{VecElement{T}}` be passed by value instead of sret? check"CHECK-NOT: i128" check"CHECK-LABEL: define void @{{(julia|j)_kernel_[0-9]+}}" - @static VERSION >= v"1.12" && check"CHECK: alloca <2 x i64>, align 16" + @static (VERSION >= v"1.12" && VERSION < v"1.12.5") && check"CHECK: alloca <2 x i64>, align 16" + @static VERSION >= v"1.12.5" && check"CHECK: alloca [2 x i64], align 16" SPIRV.code_llvm(mod.kernel, NTuple{2, mod.Vec{4, Float32}}; backend, dump_module=true) end @test @filecheck begin check"CHECK-NOT: i128" check"CHECK-LABEL: define void @{{(julia|j)_kernel_[0-9]+}}" - @static VERSION >= v"1.12" && check"CHECK: alloca [2 x <2 x i64>], align 16" + @static (VERSION >= v"1.12" && VERSION < v"1.12.5") && check"CHECK: alloca [2 x <2 x i64>], align 16" + @static VERSION >= v"1.12.5" && check"CHECK: alloca [4 x i64], align 16" SPIRV.code_llvm(mod.kernel, NTuple{2, mod.Vec{8, Float32}}; backend, dump_module=true) end end From 31de35a6ad4be0eeea72524f872842d2112de7c8 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 25 Feb 2026 11:57:18 -0400 Subject: [PATCH 2/3] Fix precompile tests --- test/native/precompile.jl | 4 ++-- test/ptx/precompile.jl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/native/precompile.jl b/test/native/precompile.jl index d4c0a7ac..c757c4d2 100644 --- a/test/native/precompile.jl +++ b/test/native/precompile.jl @@ -13,7 +13,7 @@ precompile_test_harness("Inference caching") do load_path A[1] = x return end - + function kernel_w_global(A, x, sym) if sym == :A A[1] = x @@ -76,7 +76,7 @@ precompile_test_harness("Inference caching") do load_path @test check_presence(square_mi, token) # check that identity survived - @test check_presence(identity_mi, token) broken=VERSION>=v"1.12.0-DEV.1268" + @test check_presence(identity_mi, token) broken=(VERSION>=v"1.12.0-DEV.1268" && VERSION=v"1.13.0-") GPUCompiler.clear_disk_cache!() @test GPUCompiler.disk_cache_enabled() == false diff --git a/test/ptx/precompile.jl b/test/ptx/precompile.jl index e0739df0..a3c6baa2 100644 --- a/test/ptx/precompile.jl +++ b/test/ptx/precompile.jl @@ -49,6 +49,6 @@ precompile_test_harness("Inference caching") do load_path @test check_presence(kernel_mi, token) # check that identity survived - @test check_presence(identity_mi, token) broken=VERSION>=v"1.12.0-DEV.1268" + @test check_presence(identity_mi, token) broken=(VERSION>=v"1.12.0-DEV.1268" && VERSION=v"1.13.0-") end end From ebbb77f6b30372a5e0bc64fc0f30a8cb3e66cb79 Mon Sep 17 00:00:00 2001 From: Christian Guinard <28689358+christiangnrd@users.noreply.github.com> Date: Wed, 25 Feb 2026 12:21:37 -0400 Subject: [PATCH 3/3] Formatting --- test/native/precompile.jl | 2 +- test/ptx/precompile.jl | 2 +- test/spirv.jl | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/native/precompile.jl b/test/native/precompile.jl index c757c4d2..1d186820 100644 --- a/test/native/precompile.jl +++ b/test/native/precompile.jl @@ -76,7 +76,7 @@ precompile_test_harness("Inference caching") do load_path @test check_presence(square_mi, token) # check that identity survived - @test check_presence(identity_mi, token) broken=(VERSION>=v"1.12.0-DEV.1268" && VERSION=v"1.13.0-") + @test check_presence(identity_mi, token) broken=(v"1.12.0-DEV.1268" <= VERSION < v"1.12.5" || VERSION>=v"1.13.0-") GPUCompiler.clear_disk_cache!() @test GPUCompiler.disk_cache_enabled() == false diff --git a/test/ptx/precompile.jl b/test/ptx/precompile.jl index a3c6baa2..4e669260 100644 --- a/test/ptx/precompile.jl +++ b/test/ptx/precompile.jl @@ -49,6 +49,6 @@ precompile_test_harness("Inference caching") do load_path @test check_presence(kernel_mi, token) # check that identity survived - @test check_presence(identity_mi, token) broken=(VERSION>=v"1.12.0-DEV.1268" && VERSION=v"1.13.0-") + @test check_presence(identity_mi, token) broken=(v"1.12.0-DEV.1268" <= VERSION < v"1.12.5" || VERSION>=v"1.13.0-") end end diff --git a/test/spirv.jl b/test/spirv.jl index 0c64d3ca..1384a73c 100644 --- a/test/spirv.jl +++ b/test/spirv.jl @@ -133,7 +133,7 @@ end # TODO: should structs of `NTuple{VecElement{T}}` be passed by value instead of sret? check"CHECK-NOT: i128" check"CHECK-LABEL: define void @{{(julia|j)_kernel_[0-9]+}}" - @static (VERSION >= v"1.12" && VERSION < v"1.12.5") && check"CHECK: alloca <2 x i64>, align 16" + @static v"1.12" <= VERSION < v"1.12.5" && check"CHECK: alloca <2 x i64>, align 16" @static VERSION >= v"1.12.5" && check"CHECK: alloca [2 x i64], align 16" SPIRV.code_llvm(mod.kernel, NTuple{2, mod.Vec{4, Float32}}; backend, dump_module=true) end @@ -141,7 +141,7 @@ end @test @filecheck begin check"CHECK-NOT: i128" check"CHECK-LABEL: define void @{{(julia|j)_kernel_[0-9]+}}" - @static (VERSION >= v"1.12" && VERSION < v"1.12.5") && check"CHECK: alloca [2 x <2 x i64>], align 16" + @static v"1.12" <= VERSION < v"1.12.5" && check"CHECK: alloca [2 x <2 x i64>], align 16" @static VERSION >= v"1.12.5" && check"CHECK: alloca [4 x i64], align 16" SPIRV.code_llvm(mod.kernel, NTuple{2, mod.Vec{8, Float32}}; backend, dump_module=true) end