@@ -512,25 +512,21 @@ def VR : VReg<!listconcat(VM1VTs, VMaskVTs),
512
512
(add (sequence "V%u", 8, 31),
513
513
(sequence "V%u", 0, 7)), 1>;
514
514
515
- def VRNoV0 : VReg<!listconcat(VM1VTs, VMaskVTs),
516
- (add (sequence "V%u", 8, 31),
517
- (sequence "V%u", 1, 7)), 1>;
515
+ def VRNoV0 : VReg<!listconcat(VM1VTs, VMaskVTs), (sub VR, V0), 1>;
518
516
519
517
def VRM2 : VReg<VM2VTs, (add (sequence "V%uM2", 8, 31, 2),
520
518
(sequence "V%uM2", 0, 7, 2)), 2>;
521
519
522
- def VRM2NoV0 : VReg<VM2VTs, (add (sequence "V%uM2", 8, 31, 2),
523
- (sequence "V%uM2", 2, 7, 2)), 2>;
520
+ def VRM2NoV0 : VReg<VM2VTs, (sub VRM2, V0M2), 2>;
524
521
525
- def VRM4 : VReg<VM4VTs,
526
- (add V8M4, V12M4, V16M4, V20M4, V24M4, V28M4, V0M4, V4M4), 4>;
522
+ def VRM4 : VReg<VM4VTs, (add V8M4, V12M4, V16M4, V20M4,
523
+ V24M4, V28M4, V0M4, V4M4), 4>;
527
524
528
- def VRM4NoV0 : VReg<VM4VTs,
529
- (add V8M4, V12M4, V16M4, V20M4, V24M4, V28M4, V4M4), 4>;
525
+ def VRM4NoV0 : VReg<VM4VTs, (sub VRM4, V0M4), 4>;
530
526
531
527
def VRM8 : VReg<VM8VTs, (add V8M8, V16M8, V24M8, V0M8), 8>;
532
528
533
- def VRM8NoV0 : VReg<VM8VTs, (add V8M8, V16M8, V24M8 ), 8>;
529
+ def VRM8NoV0 : VReg<VM8VTs, (sub VRM8, V0M8 ), 8>;
534
530
535
531
def VMV0 : RegisterClass<"RISCV", VMaskVTs, 64, (add V0)> {
536
532
let Size = 64;
0 commit comments