[vector] open issues tagged with vectorIntrinsic label
Viswanathan, Sandhya
sandhya.viswanathan at intel.com
Wed Nov 6 01:14:27 UTC 2019
Hi Paul,
Of the list that you identified, I have marked the following as resolved with description in the bug:
https://bugs.openjdk.java.net/browse/JDK-8225018
https://bugs.openjdk.java.net/browse/JDK-8224988
https://bugs.openjdk.java.net/browse/JDK-8222897
https://bugs.openjdk.java.net/browse/JDK-8223368: A minor note, the REINTERPRET_F2I is specified in JavaDoc to use floatToRawIntBits() whereas D2L is not using the Raw version. The intrinsics would be what "Raw" versions do, just reinterpret the bits.
The following are still open:
https://bugs.openjdk.java.net/browse/JDK-8223367
https://bugs.openjdk.java.net/browse/JDK-8221816
The problem in both is the gather/scatter with mask (fromArray, intoArray) is not implemented. Need your help on this one.
The following is likely fixed by John:
https://bugs.openjdk.java.net/browse/JDK-8223366
Best Regards,
Sandhya
-----Original Message-----
From: Viswanathan, Sandhya
Sent: Tuesday, November 05, 2019 1:19 PM
To: Paul Sandoz <paul.sandoz at oracle.com>; panama-dev at openjdk.java.net
Subject: RE: [vector] open issues tagged with vectorIntrinsic label
Hi Paul,
I have started looking at these and closed 8225018.
Looks like 8223367 is open because of masked gather/scatter. Code excerpts below with cases not handled for your reference:
IntVector.java
2924 @ForceInline
2925 public static
2926 IntVector fromArray(VectorSpecies<Integer> species,
2927 int[] a, int offset,
2928 int[] indexMap, int mapOffset,
2929 VectorMask<Integer> m) {
2930 IntSpecies vsp = (IntSpecies) species;
2931
2932 // FIXME This can result in out of bounds errors for unset mask lanes
2933 // FIX = Use a scatter instruction which routes the unwanted lanes
2934 // into a bit-bucket variable (private to implementation).
2935 // This requires a 2-D scatter in order to set a second base address.
2936 // See notes in https://bugs.openjdk.java.net/browse/JDK-8223367
2937 assert(m.allTrue());
2938 return (IntVector)
2939 zero(species).blend(fromArray(species, a, offset, indexMap, mapOffset), m);
2940
2941 }
3209 @ForceInline
3210 public final
3211 void intoArray(int[] a, int offset,
3212 int[] indexMap, int mapOffset,
3213 VectorMask<Integer> m) {
3214 IntSpecies vsp = vspecies();
3215 if (m.allTrue()) {
3216 intoArray(a, offset, indexMap, mapOffset);
3217 return;
3218 }
3219 throw new AssertionError("fixme");
3220 }
Best Regards,
Sandhya
-----Original Message-----
From: panama-dev <panama-dev-bounces at openjdk.java.net> On Behalf Of Paul Sandoz
Sent: Friday, November 01, 2019 12:11 PM
To: panama-dev at openjdk.java.net
Subject: [vector] open issues tagged with vectorIntrinsic label
Hi,
There are a bunch of open issues tagged with vectorIntrinsic:
https://bugs.openjdk.java.net/issues/?jql=status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened%2C%20New)%20AND%20labels%20%3D%20vectorIntrinsics%20ORDER%20BY%20issuetype%20DESC <https://bugs.openjdk.java.net/issues/?jql=status%20in%20(Open,%20%22In%20Progress%22,%20Reopened,%20New)%20AND%20labels%20=%20vectorIntrinsics%20ORDER%20BY%20issuetype%20DESC>
I am wondering what can be marked as resolved or closed. Please dive in and update or reply on status.
Possible candidates to resolve:
https://bugs.openjdk.java.net/browse/JDK-8225018 <https://bugs.openjdk.java.net/browse/JDK-8225018>
9 unit tests for Vector API failed on SkyLake with assert "(((dst_enc < 16 && nds_enc < 16 ..."
http://hg.openjdk.java.net/panama/dev/rev/73fd0971fb14 <http://hg.openjdk.java.net/panama/dev/rev/73fd0971fb14>
https://bugs.openjdk.java.net/browse/JDK-8223367 <https://bugs.openjdk.java.net/browse/JDK-8223367>
[vector] masked memory operations must correctly implement unset lanes
https://bugs.openjdk.java.net/browse/JDK-8221816 <https://bugs.openjdk.java.net/browse/JDK-8221816>
[vector] IndexOutOfBoundsException for fromArray/intoArray with unset mask lanes
https://bugs.openjdk.java.net/browse/JDK-8223366 <https://bugs.openjdk.java.net/browse/JDK-8223366>
[vector] Vector API should not bake in power-of-two size assumptions
https://bugs.openjdk.java.net/browse/JDK-8223368 <https://bugs.openjdk.java.net/browse/JDK-8223368>
[vector] vector API must carefully limit dependencies on native byte order
Possible candidates to close or reevaluate:
https://bugs.openjdk.java.net/browse/JDK-8224988 <https://bugs.openjdk.java.net/browse/JDK-8224988>
[vector] Elemental shift and rotate operations speedup
The API changed and elemental rotate/shift can be supported by slice, receiver vector passed as arg, or zero vector passed as arg, which I presume requires a different set of optimization techniques to trigger the right instructions.
https://bugs.openjdk.java.net/browse/JDK-8222897 <https://bugs.openjdk.java.net/browse/JDK-8222897>
Renaming of shift, rotate operations. Few other api changes.
Paul.
More information about the panama-dev
mailing list