< prev index next >

test/hotspot/jtreg/compiler/loopopts/superword/TestScheduleReordersScalarMemops.java

Print this page
@@ -89,11 +89,10 @@
          verify("test0", dataF, goldF0);
      }
  
      @Test
      @IR(counts = {IRNode.MUL_VI, "> 0"},
-         applyIfOr = {"UseCompactObjectHeaders", "false", "AlignVector", "false"},
          applyIfCPUFeatureOr = {"avx2", "true", "asimd", "true"})
      static void test0(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) {
          for (int i = 0; i < RANGE; i+=2) {
              // We have dependency edges:
              //  A -> X

@@ -114,14 +113,10 @@
              //
              dataFa[i + 0] = dataIa[i + 0] * 1.3f;     // A *1.3
              dataIb[i + 0] = (int)dataFb[i + 0] * 11;  // X *11
              dataIb[i + 1] = (int)dataFb[i + 1] * 11;  // Y *11
              dataFa[i + 1] = dataIa[i + 1] + 1.2f;     // B +1.2
-             // With AlignVector, we need 8-byte alignment of vector loads/stores.
-             // UseCompactObjectHeaders=false                 UseCompactObjectHeaders=true
-             // adr = base + 16 + 8*i   ->  always            adr = base + 12 + 8*i   ->  never
-             // -> vectorize                                  -> no vectorization
          }
      }
  
      @Run(test = "test1")
      @Warmup(100)

@@ -134,24 +129,19 @@
          verify("test1", dataF, goldF1);
      }
  
      @Test
      @IR(counts = {IRNode.MUL_VI, "> 0"},
-         applyIfOr = {"UseCompactObjectHeaders", "false", "AlignVector", "false"},
          applyIfCPUFeatureOr = {"avx2", "true", "asimd", "true"})
      static void test1(int[] dataIa, int[] dataIb, float[] dataFa, float[] dataFb) {
          for (int i = 0; i < RANGE; i+=2) {
              // Do the same as test0, but without int-float conversion.
              // This should reproduce on machines where conversion is not implemented.
              unsafe.putInt(dataFa, unsafe.ARRAY_FLOAT_BASE_OFFSET + 4L * i + 0, dataIa[i+0] + 1);  // A +1
              dataIb[i+0] = 11 * unsafe.getInt(dataFb, unsafe.ARRAY_INT_BASE_OFFSET + 4L * i + 0);  // X
              dataIb[i+1] = 11 * unsafe.getInt(dataFb, unsafe.ARRAY_INT_BASE_OFFSET + 4L * i + 4);  // Y
              unsafe.putInt(dataFa, unsafe.ARRAY_FLOAT_BASE_OFFSET + 4L * i + 4, dataIa[i+1] * 11); // B *11
-             // With AlignVector, we need 8-byte alignment of vector loads/stores.
-             // UseCompactObjectHeaders=false                 UseCompactObjectHeaders=true
-             // adr = base + 16 + 8*i   ->  always            adr = base + 12 + 8*i   ->  never
-             // -> vectorize                                  -> no vectorization
          }
      }
  
      static void init(int[] dataI, float[] dataF) {
          for (int i = 0; i < RANGE; i++) {
< prev index next >