From b6e7d37d29e0ef1894213ada21d531aa5f7574ca Mon Sep 17 00:00:00 2001 From: James Osborn Date: Thu, 7 Dec 2023 12:50:55 -0600 Subject: [PATCH] mark some simdArray procs alwaysInline --- src/simd/simdArray.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/simd/simdArray.nim b/src/simd/simdArray.nim index 8c5fce1..93bb65f 100644 --- a/src/simd/simdArray.nim +++ b/src/simd/simdArray.nim @@ -756,7 +756,7 @@ template makeSimdArray2*(L:typed;B,F:typedesc;N0,N:typed,T:untyped) {.dirty.} = forStatic i, 0, L-1: assign(r[][i], x) template `:=`*(r: T, x: SomeNumber) = assign(r, x) - proc assign*(r:var T; x:array[N,SomeNumber]) {.inline.} = + proc assign*(r:var T; x:array[N,SomeNumber]) {.alwaysInline.} = when compiles(assign(r[][0], unsafeAddr(x[0]))): forStatic i, 0, L-1: assign(r[][i], unsafeAddr(x[i*N0])) @@ -764,7 +764,7 @@ template makeSimdArray2*(L:typed;B,F:typedesc;N0,N:typed,T:untyped) {.dirty.} = var y = x forStatic i, 0, L-1: assign(r[][i], unsafeAddr(y[i*N0])) - proc assign*(r:var array[N,SomeNumber], x:T) {.inline.} = + proc assign*(r:var array[N,SomeNumber], x:T) {.alwaysInline.} = bind forStatic when B is SomeNumber: forStatic i, 0, L-1: @@ -772,10 +772,10 @@ template makeSimdArray2*(L:typed;B,F:typedesc;N0,N:typed,T:untyped) {.dirty.} = else: forStatic i, 0, L-1: assign(addr(r[i*N0]), x[][i]) - proc assign*(r: var SimdArrayObj, x: T) {.inline.} = + proc assign*(r: var SimdArrayObj, x: T) {.alwaysInline.} = for i in 0..