@@ -389,15 +389,153 @@ v_dot8_i32_i4 v0, v1, v2, v3
389
389
v_dot8_u32_u4 v0 , v1 , v2 , v3
390
390
391
391
//
392
- // Test op_sel/op_sel_hi: in VOP3P dot , op_sel must be 0 , op_sel_hi cannot appear
392
+ // Test op_sel/op_sel_hi.
393
393
//
394
394
395
395
// CHECK: encoding: [ 0x00 , 0x40 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
396
396
v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ]
397
+ // CHECK: encoding: [ 0x00 , 0x50 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
398
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ]
399
+ // CHECK: encoding: [ 0x00 , 0x48 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
400
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ]
401
+ // CHECK: encoding: [ 0x00 , 0x58 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
402
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ]
403
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
404
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 0 ]
405
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
406
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 1 ]
407
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
408
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 0 ]
409
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
410
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 1 ]
411
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
412
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 0 ]
413
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
414
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 1 ]
415
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
416
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 0 ]
417
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
418
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 1 ]
419
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
420
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 0 ]
421
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
422
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 1 ]
423
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
424
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 0 ]
425
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
426
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 1 ]
427
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
428
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 0 ]
429
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
430
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 1 ]
431
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
432
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 0 ]
433
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
434
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 1 ]
435
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
436
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 0 ]
437
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
438
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 1 ]
439
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
440
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 0 ]
441
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa3 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
442
+ v_dot2_f32_f16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 1 ]
397
443
// CHECK: encoding: [ 0x00 , 0x40 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
398
444
v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ]
445
+ // CHECK: encoding: [ 0x00 , 0x50 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
446
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ]
447
+ // CHECK: encoding: [ 0x00 , 0x48 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
448
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ]
449
+ // CHECK: encoding: [ 0x00 , 0x58 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
450
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ]
451
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
452
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 0 ]
453
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
454
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 1 ]
455
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
456
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 0 ]
457
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
458
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 1 ]
459
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
460
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 0 ]
461
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
462
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 1 ]
463
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
464
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 0 ]
465
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
466
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 1 ]
467
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
468
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 0 ]
469
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
470
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 1 ]
471
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
472
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 0 ]
473
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
474
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 1 ]
475
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
476
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 0 ]
477
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
478
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 1 ]
479
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
480
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 0 ]
481
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
482
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 1 ]
483
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
484
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 0 ]
485
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
486
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 1 ]
487
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
488
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 0 ]
489
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa6 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
490
+ v_dot2_i32_i16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 1 ]
399
491
// CHECK: encoding: [ 0x00 , 0x40 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
400
492
v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ]
493
+ // CHECK: encoding: [ 0x00 , 0x50 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
494
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ]
495
+ // CHECK: encoding: [ 0x00 , 0x48 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
496
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ]
497
+ // CHECK: encoding: [ 0x00 , 0x58 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
498
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ]
499
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
500
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 0 ]
501
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
502
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel_hi: [ 0 , 1 ]
503
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
504
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 0 ]
505
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
506
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel_hi: [ 1 , 1 ]
507
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
508
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 0 ]
509
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
510
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 0 , 1 ]
511
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
512
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 0 ]
513
+ // CHECK: encoding: [ 0x00 , 0x00 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
514
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ] op_sel_hi: [ 1 , 1 ]
515
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
516
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 0 ]
517
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
518
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 0 , 1 ]
519
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
520
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 0 ]
521
+ // CHECK: encoding: [ 0x00 , 0x10 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
522
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 0 , 1 ] op_sel_hi: [ 1 , 1 ]
523
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
524
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 0 ]
525
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
526
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 0 , 1 ]
527
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
528
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 0 ]
529
+ // CHECK: encoding: [ 0x00 , 0x08 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
530
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 0 ] op_sel_hi: [ 1 , 1 ]
531
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x04 ]
532
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 0 ]
533
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x14 ]
534
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 0 , 1 ]
535
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x0c ]
536
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 0 ]
537
+ // CHECK: encoding: [ 0x00 , 0x18 , 0xa7 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
538
+ v_dot2_u32_u16 v0 , v1 , v2 , v3 op_sel: [ 1 , 1 ] op_sel_hi: [ 1 , 1 ]
401
539
// CHECK: encoding: [ 0x00 , 0x40 , 0xa8 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
402
540
v_dot4_i32_i8 v0 , v1 , v2 , v3 op_sel: [ 0 , 0 ]
403
541
// CHECK: encoding: [ 0x00 , 0x40 , 0xa9 , 0xd3 , 0x01 , 0x05 , 0x0e , 0x1c ]
0 commit comments