Recently we found the performance of "FIRST_NONZERO" for double type is largely worse than the other types on x86 when UseAVX=2. The main reason is VectorCastL2X op is not supported by the backend when the dst element type is T_DOUBLE. This makes the vector intrinsification of VectorMask.cast() fail which is used in the "FIRST_NONZERO" java implementation. However, VectorCast is not generated for VectorMask.cast() in such cases, that it doesn't need always check whether the VectorCast op is supported or not.
-
Xiaohong Gong
-
Xiaohong Gong
- Votes:
-
0 Vote for this issue
- Watchers:
-
3 Start watching this issue
- Created:
- Updated:
- Resolved: