Skip to content

Commit 8ab7465

Browse files
committed
returns incorrect results on m1...
1 parent b413ba8 commit 8ab7465

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

test/gemm.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@
421421
if LoopVectorization.cache_linesize() == LoopVectorization.register_size()
422422
@test LoopVectorization.choose_order(lsr2amb) == ([:n, :m, :k], :m, :n, :m, 3, 7)
423423
else
424-
@test LoopVectorization.choose_order(lsr2amb) == ([:m, :n, :k], :m, :n, :m, 3, 7)
424+
@test LoopVectorization.choose_order(lsr2amb) == ([:n, :m, :k], :m, :n, :m, 3, 7)
425425
end
426426
elseif LoopVectorization.register_count() == 16
427427
if LoopVectorization.pick_vector_width(Float64) == 4

test/miscellaneous.jl

+14-4
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,13 @@ end
137137
# # @test LoopVectorization.choose_order(lscolsum) == (Symbol[:j,:i], :j, :i, :j, Unum, Tnum)
138138
# @test LoopVectorization.choose_order(lscolsum) == (Symbol[:j,:i], :j, :i, :j, 1, 1)
139139
# end
140-
@test LoopVectorization.choose_order(lscolsum) ==
141-
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 4, -1)
140+
if Sys.ARCH === :aarch64
141+
@test LoopVectorization.choose_order(lscolsum) ==
142+
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 8, -1)
143+
else
144+
@test LoopVectorization.choose_order(lscolsum) ==
145+
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 4, -1)
146+
end
142147
# my colsum is wrong (by 0.25), but slightly more interesting
143148
function mycolsum!(x, A)
144149
@. x = 0
@@ -177,8 +182,13 @@ end
177182
# LoopVectorization.choose_order(lsvar)
178183
# @test LoopVectorization.choose_order(lsvar) == (Symbol[:j,:i], :j, :i, :j, Unum, Tnum)
179184
# if LoopVectorization.register_count() == 32
180-
@test LoopVectorization.choose_order(lsvar) ==
181-
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 4, -1)
185+
if Sys.ARCH === :aarch64
186+
@test LoopVectorization.choose_order(lsvar) ==
187+
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 8, -1)
188+
else
189+
@test LoopVectorization.choose_order(lsvar) ==
190+
(Symbol[:j, :i], :j, Symbol("##undefined##"), :j, 4, -1)
191+
end
182192
# @test LoopVectorization.choose_order(lsvar) == (Symbol[:j,:i], :j, :i, :j, 2, 10)
183193
# else#if LoopVectorization.register_count() == 16
184194
# @test LoopVectorization.choose_order(lsvar) == (Symbol[:j,:i], :j, Symbol("##undefined##"), :j, 8, -1)

test/special.jl

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,14 @@
55
end
66
)
77
lsvexp = LoopVectorization.loopset(vexpq)
8-
@test LoopVectorization.choose_order(lsvexp) ==
9-
(Symbol[:i], :i, Symbol("##undefined##"), :i, 2, -1)
8+
if Sys.ARCH === :aarch64
9+
# returned `4` on an M1...
10+
@test LoopVectorization.choose_order(lsvexp) ==
11+
(Symbol[:i], :i, Symbol("##undefined##"), :i, 4, -1)
12+
else
13+
@test LoopVectorization.choose_order(lsvexp) ==
14+
(Symbol[:i], :i, Symbol("##undefined##"), :i, 2, -1)
15+
end
1016

1117
function myvexp!(b, a)
1218
@inbounds for i eachindex(a)

0 commit comments

Comments
 (0)