libera/#sbcl - IRC Chatlog
Search
3:41:44
hayley
Using if (...) a[n] = b[n] doesn't work either. Wrote a manually vectorised version of it, but it's much less pretty (due to intrinsic names, mostly) and of course less portable, which is what concerns me.
8:00:03
hayley
Seems neither likes conditionals at all, even though vectorising them seems simple. "if (a[n] == g) a[n]++;" (which is part of my code for promoting generations) also is entirely scalar, and takes a lot of time.
10:44:53
hayley
I also have to pass basically everything in the loop as an argument; GCC gives up on globals seemingly. But now I have one loop vectorised, which helps a bit.
10:53:10
hayley
w.r.t the godbolt link - would help if I used the index a[i] instead of the plain wrong a[n]; but that doesn't affect vectorisation.
13:20:01
hayley
Okay, I can get pretty code for promotion and resetting line marks, but not for object marks. Can't say it's clear why; Clang says it can't determine the array length.