Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8353693

RISC-V: compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java is failing with Zfh

XMLWordPrintable

      QEMU-system ISA: rv64imafdcvh_zicbom_zicboz_zicntr_zicsr_zifencei_zihintntl_zihintpause_zihpm_zacas_zawrs_zfa_zfh_zfhmin_zca_zcd_zba_zbb_zbc_zbkb_zbs_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvkb_zvkned_zvknhb_zvkt_sstc

      $ java -XX:+PrintFlagsFinal -version | grep Zfh
           bool UseZfh = true {ARCH diagnostic} {default}
           bool UseZfhmin = true {ARCH diagnostic} {default}

      To reproduce with linux-riscv64 fastdebug build:
      $ make test TEST="test/hotspot/jtreg/compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java"

      ```
      One or more @IR rules failed:

      Failed IR Rules (1) of Methods (1)
      ----------------------------------
      1) Method "public static jdk.incubator.vector.Float16 compiler.floatingpoint.TestSubNodeFloatDoubleNegation.testHalfFloat(jdk.incubator.vector.Float16)" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#SUB#_", "2"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(Sub(I|L|F|D|HF).*)+(\s){2}===.*)"
                 - Failed comparison: [found] 3 = 2 [given]
                   - Matched nodes (3):
                     * 326 SubHF === _ 560 325 [[ 327 479 ]] !orig=[478] !jvms: Float16::valueOf @ bci:5 (line 329) Float16::subtract @ bci:9 (line 1137) TestSubNodeFloatDoubleNegation::testHalfFloat @ bci:9 (line 63)
                     * 443 SubF === _ 561 442 [[ 604 ]] !jvms: Float16::subtract @ bci:8 (line 1137) TestSubNodeFloatDoubleNegation::testHalfFloat @ bci:12 (line 61)
                     * 479 SubHF === _ 560 326 [[ 480 ]] !jvms: Float16::valueOf @ bci:5 (line 329) Float16::subtract @ bci:9 (line 1137) TestSubNodeFloatDoubleNegation::testHalfFloat @ bci:12 (line 61)

      >>> Check stdout for compilation output of the failed methods
      ```

      Might be related to https://bugs.openjdk.org/browse/JDK-8345298 which adds riscv backend for scalar float16 operations.

            Unassigned Unassigned
            fyang Fei Yang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: