Skip to content

Commit db50923

Browse files
n8sh9il
authored andcommitted
Fix non-LDC mir.interpolate.vectorize
1 parent e16283f commit db50923

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

source/mir/interpolate/package.d

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ version(LDC)
229229
else
230230
enum LDC = false;
231231

232-
version(x86_64)
232+
version(X86_64)
233233
enum x86_64 = true;
234234
else
235235
enum x86_64 = false;
@@ -562,15 +562,17 @@ auto vectorize(Kernel, F, size_t N, size_t R)(ref Kernel kernel, ref F[N] a, ref
562562
}
563563
else
564564
{
565+
F[N][R] _c = void;//Temporary array in case "c" overlaps "a" and/or "b".
565566
foreach(i; Iota!N)
566567
{
567568
auto r = kernel(a[i], b[i]);
568569
static if (R == 1)
569-
return c[0] = r;
570+
_c[0][i] = r;
570571
else
571572
foreach(j; Iota!R)
572-
c[j][i] = r[j];
573+
_c[j][i] = r[j];
573574
}
575+
c = _c;
574576
}
575577
}
576578

0 commit comments

Comments
 (0)