C2: VectorMaskToLong fails to fold Float/Double masks due to VectorMaskCast

XMLWordPrintable

      For Float/Double masks, VectorMaskCast between VectorStoreMask and VectorLoadMask prevents VectorStoreMask::Identity from collapsing the pair.

      This blocks VectorMaskToLong from folding fromLong(...).toLong(). Integral types are unaffected (no VectorMaskCast in their chain).

      Reproduces intermittently under StressIncrementalInlining.

      Proposed fix is to make VectorStoreMask::Identity look through VectorMaskCast.

      Repro in fastdebug with TestVectorMaskToLongFloatDouble.java

      Problem visible after fixing https://bugs.openjdk.org/browse/JDK-8375688, as it can assert first.

            Assignee:
            Kerem Kat
            Reporter:
            Kerem Kat
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: