Faster Array#/MutableArray# copies
twhitehead at gmail.com
Fri Feb 18 23:34:51 CET 2011
On February 17, 2011 20:18:11 Johan Tibell wrote:
> * Can we use SSE instructions?
> * Can we get the C memcpy code inlined into the C-- source (crazy, I
> know). If so we could perhaps benefit directly from optimizations in
From the standpoint of numerical code, it would be very nice to get some
vector . Perhaps this would also give a natural expression of memcpy.
In the spirit of the common "infinite" register file assumption, I've always
imagined idealized arbitrary-length vector types/operations at the C-- level
(mapped to reality via chunking it over fixed length vector instructions).
I see this is LLVM supports arbitrary length vectors as a first class type
Looking at the C-- specification (section 2.4 -- page 10)
it seems this may not be such a good fit as it considers everything as fixed-
size bit collections (bits8, bits16, etc.) and booleans (bool). Presumably
memory orientated primitive instructions are also out as they break the strict
load/store architecture. Has anyone though of how to do this?
Some half baked suggestions
- perhaps it should be fixed-size bit collections with repetition, or
- built in primitives for instructions composition (i.e., a map operation)?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 490 bytes
Desc: This is a digitally signed message part.
More information about the Glasgow-haskell-users