Rough prototype of a Vector API

Graves, Ian L ian.l.graves at intel.com
Tue Mar 1 23:19:07 UTC 2016


Hi Paul,

This is pretty cool!  I've been working on an int[] view over Long2 that I can put up once it's a little less rough.  It looks fairly similar to your approach.  I will try to harmonize it with your naming style.  Additionally, I've tweaked my Vector interface to include a few more arithmetic and logical methods, but I can pare that back for the time being (or permanently!).  What would be a good/preferred method for me to share what I've got with this list when I am ready?

One quick thought to the note about imm's being hard-coded into snippets.

> - Instructions requiring immediate values have to be hard coded in a code snippet. For insertion or extraction of a byte value to/from a Vector<Byte, Shapes.S128Bit> i defer to the “pinsrb” and “pextrb” instructions respectively. I create 16 MHs for each kind :-) where the index is encoded as an immediate. This obviously does not scale, nor is it visible to the JIT.

Perhaps the Patchable CodeSnippet approach is robust enough to hoist  whole values into an imm position?  I don't want to put too much weight on what is already a pretty clean interface, but it does seem like it could work.

--Ian




More information about the panama-dev mailing list