@@ -315,7 +315,7 @@ static void verifyD(String name, int i, double[] g, double[] r) {
315
315
@ Test
316
316
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
317
317
applyIfPlatform = {"64-bit" , "true" },
318
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
318
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
319
319
// "inflate" method: 1 byte -> 2 byte.
320
320
// Java scalar code has no explicit conversion.
321
321
// Vector code would need a conversion. We may add this in the future.
@@ -329,7 +329,7 @@ static Object[] test0(byte[] src, char[] dst) {
329
329
@ Test
330
330
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
331
331
applyIfPlatform = {"64-bit" , "true" },
332
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
332
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
333
333
// "inflate" method: 1 byte -> 2 byte.
334
334
// Java scalar code has no explicit conversion.
335
335
// Vector code would need a conversion. We may add this in the future.
@@ -343,7 +343,7 @@ static Object[] test1(byte[] src, char[] dst) {
343
343
@ Test
344
344
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
345
345
applyIfPlatform = {"64-bit" , "true" },
346
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
346
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
347
347
// "deflate" method: 2 byte -> 1 byte.
348
348
// Java scalar code has no explicit conversion.
349
349
// Vector code would need a conversion. We may add this in the future.
@@ -360,7 +360,7 @@ static Object[] test2(byte[] src, char[] dst) {
360
360
IRNode .STORE_VECTOR , "> 0" },
361
361
applyIfPlatform = {"64-bit" , "true" },
362
362
applyIf = {"AlignVector" , "false" }, // a[i] and a[i+1] cannot both be aligned.
363
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
363
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
364
364
// Used to not vectorize because of "alignment boundaries".
365
365
// Assume 64 byte vector width:
366
366
// a[i+0:i+15] and a[i+1:i+16], each are 4 * 16 = 64 byte.
@@ -378,7 +378,7 @@ static Object[] test3(int[] a, int[] b) {
378
378
IRNode .STORE_VECTOR , "> 0" },
379
379
applyIfPlatform = {"64-bit" , "true" },
380
380
applyIf = {"AlignVector" , "false" }, // a[i] and a[i+1] cannot both be aligned.
381
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
381
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
382
382
// same as test3, but hand-unrolled
383
383
static Object [] test4 (int [] a , int [] b ) {
384
384
for (int i = 0 ; i < a .length -2 ; i +=2 ) {
@@ -391,7 +391,7 @@ static Object[] test4(int[] a, int[] b) {
391
391
@ Test
392
392
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
393
393
applyIfPlatform = {"64-bit" , "true" },
394
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
394
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
395
395
// In theory, one would expect this to be a simple 4byte -> 4byte conversion.
396
396
// But there is a CmpF and CMove here because we check for isNaN. Plus a MoveF2I.
397
397
//
@@ -406,7 +406,7 @@ static Object[] test5(int[] a, float[] b) {
406
406
@ Test
407
407
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
408
408
applyIfPlatform = {"64-bit" , "true" },
409
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
409
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
410
410
// Missing support for MoveF2I
411
411
static Object [] test6 (int [] a , float [] b ) {
412
412
for (int i = 0 ; i < a .length ; i ++) {
@@ -418,7 +418,7 @@ static Object[] test6(int[] a, float[] b) {
418
418
@ Test
419
419
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
420
420
applyIfPlatform = {"64-bit" , "true" },
421
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
421
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
422
422
// Missing support for MoveI2F
423
423
static Object [] test7 (int [] a , float [] b ) {
424
424
for (int i = 0 ; i < a .length ; i ++) {
@@ -430,7 +430,7 @@ static Object[] test7(int[] a, float[] b) {
430
430
@ Test
431
431
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
432
432
applyIfPlatform = {"64-bit" , "true" },
433
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
433
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
434
434
// Missing support for Needs CmpD, CMove and MoveD2L
435
435
static Object [] test8 (long [] a , double [] b ) {
436
436
for (int i = 0 ; i < a .length ; i ++) {
@@ -442,7 +442,7 @@ static Object[] test8(long[] a, double[] b) {
442
442
@ Test
443
443
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
444
444
applyIfPlatform = {"64-bit" , "true" },
445
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
445
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
446
446
// Missing support for MoveD2L
447
447
static Object [] test9 (long [] a , double [] b ) {
448
448
for (int i = 0 ; i < a .length ; i ++) {
@@ -454,7 +454,7 @@ static Object[] test9(long[] a, double[] b) {
454
454
@ Test
455
455
@ IR (counts = {IRNode .STORE_VECTOR , "= 0" },
456
456
applyIfPlatform = {"64-bit" , "true" },
457
- applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" })
457
+ applyIfCPUFeatureOr = {"sse4.1" , "true" , "asimd" , "true" , "rvv" , "true" })
458
458
// Missing support for MoveL2D
459
459
static Object [] test10 (long [] a , double [] b ) {
460
460
for (int i = 0 ; i < a .length ; i ++) {
0 commit comments