Test compiler/loopopts/superword/TestReinterpretAndCast.java fails on x86_64 with AVX but without f16c

XMLWordPrintable

    • b03
    • x86_64

      The following test fails reliably on my Linux x86 machine with a fastdebug build. Maybe related to JDK-8367487? Spotted this when running hotspot:tier1 locally.

      $ make -C ../build/mainline test TEST=compiler/loopopts/superword/TestReinterpretAndCast.java
      ...

      One or more @IR rules failed:

      Failed IR Rules (2) of Methods (2)
      ----------------------------------
      1) Method "public static void compiler.loopopts.superword.TestReinterpretAndCast.test2(int[],short[])" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#LOAD_VECTOR_I#_", "_@min(max_int, max_float, max_short)", "> 0", "_#V#VECTOR_CAST_F2HF#_", "_@min(max_int, max_float, max_short)", "> 0", "_#STORE_VECTOR#_", "> 0", "_#VECTOR_REINTERPRET#_", "> 0"}, applyIfPlatform={"64-bit", "true"}, failOn={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={"avx", "true"}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(LoadVector.*)+(\s){2}===.*vector[A-Za-z]<I,4>)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 2: "(\d+(\s){2}(VectorCastF2HF.*)+(\s){2}===.*vector[A-Za-z]<S,4>)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 3: "(\d+(\s){2}(StoreVector.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 4: "(\d+(\s){2}(VectorReinterpret.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!

      2) Method "public static void compiler.loopopts.superword.TestReinterpretAndCast.test3(short[],long[])" - [Failed IR rules: 1]:
         * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#V#LOAD_VECTOR_S#_", "_@min(max_float, max_short, max_long)", "> 0", "_#V#VECTOR_CAST_HF2F#_", "_@min(max_float, max_short, max_long)", "> 0", "_#V#VECTOR_CAST_I2L#_", "_@min(max_float, max_short, max_long)", "> 0", "_#STORE_VECTOR#_", "> 0", "_#VECTOR_REINTERPRET#_", "> 0"}, applyIfPlatform={"64-bit", "true"}, failOn={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={"avx", "true"}, applyIfAnd={}, applyIfNot={})"
           > Phase "PrintIdeal":
             - counts: Graph contains wrong number of nodes:
               * Constraint 1: "(\d+(\s){2}(LoadVector.*)+(\s){2}===.*vector[A-Za-z]<S,2>)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 2: "(\d+(\s){2}(VectorCastHF2F.*)+(\s){2}===.*vector[A-Za-z]<F,2>)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 3: "(\d+(\s){2}(VectorCastI2X.*)+(\s){2}===.*vector[A-Za-z]<J,2>)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 4: "(\d+(\s){2}(StoreVector.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!
               * Constraint 5: "(\d+(\s){2}(VectorReinterpret.*)+(\s){2}===.*)"
                 - Failed comparison: [found] 0 > 0 [given]
                 - No nodes matched!

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


        #############################################################
         - To only run the failed tests use -DTest, -DExclude,
           and/or -DScenarios.
         - To also get the standard output of the test VM run with
           -DReportStdout=true or for even more fine-grained logging
           use -DVerbose=true.
        #############################################################


      compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
              at compiler.lib.ir_framework.driver.irmatching.IRMatcher.reportFailures(IRMatcher.java:61)
              at compiler.lib.ir_framework.driver.irmatching.IRMatcher.match(IRMatcher.java:49)
              at compiler.lib.ir_framework.TestFramework.runTestVM(TestFramework.java:887)
              at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:839)
              at compiler.lib.ir_framework.TestFramework.start(TestFramework.java:431)
              at compiler.lib.ir_framework.TestFramework.runWithFlags(TestFramework.java:257)
              at compiler.loopopts.superword.TestReinterpretAndCast.main(TestReinterpretAndCast.java:48)
              at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
              at java.base/java.lang.reflect.Method.invoke(Method.java:565)
              at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
              at java.base/java.lang.Thread.run(Thread.java:1516)

      JavaTest Message: Test threw exception: compiler.lib.ir_framework.driver.irmatching.IRViolationException: There were one or multiple IR rule failures. Please check stderr for more information.
      JavaTest Message: shutting down test


      My machine:
      Architecture: x86_64
        CPU op-mode(s): 32-bit, 64-bit
        Address sizes: 46 bits physical, 48 bits virtual
        Byte Order: Little Endian
      CPU(s): 32
        On-line CPU(s) list: 0-31
      Vendor ID: GenuineIntel
        Model name: Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz
          CPU family: 6
          Model: 45
          Thread(s) per core: 2
          Core(s) per socket: 8
          Socket(s): 2
          Stepping: 7
          CPU(s) scaling MHz: 100%
          CPU max MHz: 2400.0000
          CPU min MHz: 1200.0000
          BogoMIPS: 4788.49
          Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid
                                    dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid xsaveopt dtherm arat pln pts vnmi md_clear flush_l1d
      Virtualization features:
        Virtualization: VT-x
      Caches (sum of all):
        L1d: 512 KiB (16 instances)
        L1i: 512 KiB (16 instances)
        L2: 4 MiB (16 instances)
        L3: 40 MiB (2 instances)
      NUMA:
        NUMA node(s): 2
        NUMA node0 CPU(s): 0-7,16-23
        NUMA node1 CPU(s): 8-15,24-31
      Vulnerabilities:
        Gather data sampling: Not affected
        Indirect target selection: Not affected
        Itlb multihit: KVM: Mitigation: Split huge pages
        L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
        Mds: Mitigation; Clear CPU buffers; SMT vulnerable
        Meltdown: Mitigation; PTI
        Mmio stale data: Unknown: No mitigations
        Reg file data sampling: Not affected
        Retbleed: Not affected
        Spec rstack overflow: Not affected
        Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
        Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
        Spectre v2: Mitigation; Retpolines; IBPB conditional; IBRS_FW; STIBP conditional; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
        Srbds: Not affected
        Tsa: Not affected
        Tsx async abort: Not affected
        Vmscape: Mitigation; IBPB before exit to userspace

            Assignee:
            Emanuel Peter
            Reporter:
            Joel Sikström
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: