[vector] RFC: Add scalable shapes for Arm Scalable Vector Extension
Ningsheng Jian (Arm Technology China)
Ningsheng.Jian at arm.com
Fri Sep 7 11:04:53 UTC 2018
As you may know that Arm SVE architecturally supports scalable vector length, from 128 to 2048bits, multiple of 128bits. Currently Vector API only supports 64, 128, 256 and 512 bit vector shapes. It's inappropriate to pre-generate all SVE supported shapes, hence, we propose a new type of vector for scalable length (or length agnostic) shapes.
Could you please help to take a look at this? The *ScalableVector are the new scalable length vectors and to be compatible with existing architectures, the preferredSpecies() will return those known species first.
We are working on SVE support on OpenJDK, and current Vector API's intrinsics can really help us on our SVE backend work. We have an initial prototype which adds SVE backend and updates a bit for current register allocator to support scalable length vector types. Our WIP SVE backend shows that this scalable vector proposal works fine with current Vector API intrinsics. We would like to collect your comments about this scalable vector patch so that we can move forward for the SVE backend support. I notice that Vladimir is also thinking about alternative loop shapes, that's really helpful for SVE! We will also take a look at that further.
More information about the panama-dev