|
1 | 1 | /*
|
2 |
| - * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
4 | 4 | *
|
5 | 5 | * This code is free software; you can redistribute it and/or modify it
|
|
34 | 34 |
|
35 | 35 | /*
|
36 | 36 | * @test
|
37 |
| - * @bug 8326139 |
| 37 | + * @bug 8326139 8348659 |
38 | 38 | * @summary Test splitting packs in SuperWord
|
39 | 39 | * @library /test/lib /
|
40 | 40 | * @run driver compiler.loopopts.superword.TestSplitPacks nCOH_nAV
|
@@ -816,7 +816,17 @@ static Object[] test4g(short[] a, short[] b) {
|
816 | 816 | IRNode.STORE_VECTOR, "> 0"},
|
817 | 817 | applyIfAnd = {"MaxVectorSize", ">=32", "AlignVector", "false"},
|
818 | 818 | applyIfPlatform = {"64-bit", "true"},
|
819 |
| - applyIfCPUFeatureOr = {"sse4.1", "true", "asimd", "true"}) |
| 819 | + applyIfCPUFeature = {"sse4.1", "true"}) |
| 820 | + // aarch64 limits minimum vector size to 8B, thus a vector size of |
| 821 | + // length 2 for type "short" will not be generated |
| 822 | + @IR(counts = {IRNode.LOAD_VECTOR_S, IRNode.VECTOR_SIZE_4, "> 0", |
| 823 | + IRNode.LOAD_VECTOR_S, IRNode.VECTOR_SIZE_8, "> 0", |
| 824 | + IRNode.ADD_VS, IRNode.VECTOR_SIZE_8, "> 0", |
| 825 | + IRNode.ADD_VS, IRNode.VECTOR_SIZE_4, "> 0", |
| 826 | + IRNode.STORE_VECTOR, "> 0"}, |
| 827 | + applyIfAnd = {"MaxVectorSize", ">=32", "AlignVector", "false"}, |
| 828 | + applyIfPlatform = {"64-bit", "true"}, |
| 829 | + applyIfCPUFeature = {"sve", "true"}) |
820 | 830 | // Split pack into power-of-2 sizes
|
821 | 831 | static Object[] test5a(short[] a, short[] b, short val) {
|
822 | 832 | for (int i = 0; i < RANGE; i+=16) {
|
|
1 commit comments
openjdk-notifier[bot] commentedon Feb 5, 2025
Review
Issues