@@ -1269,8 +1269,6 @@ enum VectorMask {
1269
1269
INSN (vnmsac_vx, 0b1010111 , 0b110 , 0b101111 );
1270
1270
INSN (vmacc_vx, 0b1010111 , 0b110 , 0b101101 );
1271
1271
1272
- INSN (vrsub_vx, 0b1010111 , 0b100 , 0b000011 );
1273
-
1274
1272
#undef INSN
1275
1273
1276
1274
#define INSN (NAME, op, funct3, funct6 ) \
@@ -1428,8 +1426,9 @@ enum VectorMask {
1428
1426
INSN (vand_vx, 0b1010111 , 0b100 , 0b001001 );
1429
1427
1430
1428
// Vector Single-Width Integer Add and Subtract
1431
- INSN (vsub_vx, 0b1010111 , 0b100 , 0b000010 );
1432
- INSN (vadd_vx, 0b1010111 , 0b100 , 0b000000 );
1429
+ INSN (vsub_vx, 0b1010111 , 0b100 , 0b000010 );
1430
+ INSN (vadd_vx, 0b1010111 , 0b100 , 0b000000 );
1431
+ INSN (vrsub_vx, 0b1010111 , 0b100 , 0b000011 );
1433
1432
1434
1433
#undef INSN
1435
1434
@@ -1470,7 +1469,7 @@ enum VectorMask {
1470
1469
#define INSN (NAME, op, funct3, funct6 ) \
1471
1470
void NAME (VectorRegister Vd, VectorRegister Vs2, int32_t imm, VectorMask vm = unmasked) { \
1472
1471
guarantee (is_imm_in_range (imm, 5 , 0 ), " imm is invalid" ); \
1473
- patch_VArith (op, Vd, funct3, (uint32_t )imm & 0x1f , Vs2, vm, funct6); \
1472
+ patch_VArith (op, Vd, funct3, (uint32_t )( imm & 0x1f ) , Vs2, vm, funct6); \
1474
1473
}
1475
1474
1476
1475
INSN (vmsgt_vi, 0b1010111 , 0b011 , 0b011111 );
@@ -1483,16 +1482,7 @@ enum VectorMask {
1483
1482
INSN (vor_vi, 0b1010111 , 0b011 , 0b001010 );
1484
1483
INSN (vand_vi, 0b1010111 , 0b011 , 0b001001 );
1485
1484
INSN (vadd_vi, 0b1010111 , 0b011 , 0b000000 );
1486
-
1487
- #undef INSN
1488
-
1489
- #define INSN (NAME, op, funct3, funct6 ) \
1490
- void NAME (VectorRegister Vd, int32_t imm, VectorRegister Vs2, VectorMask vm = unmasked) { \
1491
- guarantee (is_imm_in_range (imm, 5 , 0 ), " imm is invalid" ); \
1492
- patch_VArith (op, Vd, funct3, (uint32_t )(imm & 0x1f ), Vs2, vm, funct6); \
1493
- }
1494
-
1495
- INSN (vrsub_vi, 0b1010111 , 0b011 , 0b000011 );
1485
+ INSN (vrsub_vi, 0b1010111 , 0b011 , 0b000011 );
1496
1486
1497
1487
#undef INSN
1498
1488
0 commit comments