@@ -1175,7 +1175,7 @@ func validateRFF(ctxt *obj.Link, ins *instruction) {
1175
1175
wantNoneReg (ctxt , ins , "rs3" , ins .rs3 )
1176
1176
}
1177
1177
1178
- func validateII (ctxt * obj.Link , ins * instruction ) {
1178
+ func validateIII (ctxt * obj.Link , ins * instruction ) {
1179
1179
wantImmI (ctxt , ins , ins .imm , 12 )
1180
1180
wantIntReg (ctxt , ins , "rd" , ins .rd )
1181
1181
wantIntReg (ctxt , ins , "rs1" , ins .rs1 )
@@ -1321,7 +1321,7 @@ func encodeI(as obj.As, rs1, rd, imm uint32) uint32 {
1321
1321
return imm << 20 | rs1 << 15 | enc .funct3 << 12 | rd << 7 | enc .opcode
1322
1322
}
1323
1323
1324
- func encodeII (ins * instruction ) uint32 {
1324
+ func encodeIII (ins * instruction ) uint32 {
1325
1325
return encodeI (ins .as , regI (ins .rs1 ), regI (ins .rd ), uint32 (ins .imm ))
1326
1326
}
1327
1327
@@ -1522,8 +1522,8 @@ var (
1522
1522
rIFEncoding = encoding {encode : encodeRIF , validate : validateRIF , length : 4 }
1523
1523
rFFEncoding = encoding {encode : encodeRFF , validate : validateRFF , length : 4 }
1524
1524
1525
- iIEncoding = encoding {encode : encodeII , validate : validateII , length : 4 }
1526
- iFEncoding = encoding {encode : encodeIF , validate : validateIF , length : 4 }
1525
+ iIIEncoding = encoding {encode : encodeIII , validate : validateIII , length : 4 }
1526
+ iFEncoding = encoding {encode : encodeIF , validate : validateIF , length : 4 }
1527
1527
1528
1528
sIEncoding = encoding {encode : encodeSI , validate : validateSI , length : 4 }
1529
1529
sFEncoding = encoding {encode : encodeSF , validate : validateSF , length : 4 }
@@ -1550,15 +1550,15 @@ var encodings = [ALAST & obj.AMask]encoding{
1550
1550
// Unprivileged ISA
1551
1551
1552
1552
// 2.4: Integer Computational Instructions
1553
- AADDI & obj .AMask : iIEncoding ,
1554
- ASLTI & obj .AMask : iIEncoding ,
1555
- ASLTIU & obj .AMask : iIEncoding ,
1556
- AANDI & obj .AMask : iIEncoding ,
1557
- AORI & obj .AMask : iIEncoding ,
1558
- AXORI & obj .AMask : iIEncoding ,
1559
- ASLLI & obj .AMask : iIEncoding ,
1560
- ASRLI & obj .AMask : iIEncoding ,
1561
- ASRAI & obj .AMask : iIEncoding ,
1553
+ AADDI & obj .AMask : iIIEncoding ,
1554
+ ASLTI & obj .AMask : iIIEncoding ,
1555
+ ASLTIU & obj .AMask : iIIEncoding ,
1556
+ AANDI & obj .AMask : iIIEncoding ,
1557
+ AORI & obj .AMask : iIIEncoding ,
1558
+ AXORI & obj .AMask : iIIEncoding ,
1559
+ ASLLI & obj .AMask : iIIEncoding ,
1560
+ ASRLI & obj .AMask : iIIEncoding ,
1561
+ ASRAI & obj .AMask : iIIEncoding ,
1562
1562
ALUI & obj .AMask : uEncoding ,
1563
1563
AAUIPC & obj .AMask : uEncoding ,
1564
1564
AADD & obj .AMask : rIIIEncoding ,
@@ -1574,7 +1574,7 @@ var encodings = [ALAST & obj.AMask]encoding{
1574
1574
1575
1575
// 2.5: Control Transfer Instructions
1576
1576
AJAL & obj .AMask : jEncoding ,
1577
- AJALR & obj .AMask : iIEncoding ,
1577
+ AJALR & obj .AMask : iIIEncoding ,
1578
1578
ABEQ & obj .AMask : bEncoding ,
1579
1579
ABNE & obj .AMask : bEncoding ,
1580
1580
ABLT & obj .AMask : bEncoding ,
@@ -1583,32 +1583,32 @@ var encodings = [ALAST & obj.AMask]encoding{
1583
1583
ABGEU & obj .AMask : bEncoding ,
1584
1584
1585
1585
// 2.6: Load and Store Instructions
1586
- ALW & obj .AMask : iIEncoding ,
1587
- ALWU & obj .AMask : iIEncoding ,
1588
- ALH & obj .AMask : iIEncoding ,
1589
- ALHU & obj .AMask : iIEncoding ,
1590
- ALB & obj .AMask : iIEncoding ,
1591
- ALBU & obj .AMask : iIEncoding ,
1586
+ ALW & obj .AMask : iIIEncoding ,
1587
+ ALWU & obj .AMask : iIIEncoding ,
1588
+ ALH & obj .AMask : iIIEncoding ,
1589
+ ALHU & obj .AMask : iIIEncoding ,
1590
+ ALB & obj .AMask : iIIEncoding ,
1591
+ ALBU & obj .AMask : iIIEncoding ,
1592
1592
ASW & obj .AMask : sIEncoding ,
1593
1593
ASH & obj .AMask : sIEncoding ,
1594
1594
ASB & obj .AMask : sIEncoding ,
1595
1595
1596
1596
// 2.7: Memory Ordering
1597
- AFENCE & obj .AMask : iIEncoding ,
1597
+ AFENCE & obj .AMask : iIIEncoding ,
1598
1598
1599
1599
// 5.2: Integer Computational Instructions (RV64I)
1600
- AADDIW & obj .AMask : iIEncoding ,
1601
- ASLLIW & obj .AMask : iIEncoding ,
1602
- ASRLIW & obj .AMask : iIEncoding ,
1603
- ASRAIW & obj .AMask : iIEncoding ,
1600
+ AADDIW & obj .AMask : iIIEncoding ,
1601
+ ASLLIW & obj .AMask : iIIEncoding ,
1602
+ ASRLIW & obj .AMask : iIIEncoding ,
1603
+ ASRAIW & obj .AMask : iIIEncoding ,
1604
1604
AADDW & obj .AMask : rIIIEncoding ,
1605
1605
ASLLW & obj .AMask : rIIIEncoding ,
1606
1606
ASRLW & obj .AMask : rIIIEncoding ,
1607
1607
ASUBW & obj .AMask : rIIIEncoding ,
1608
1608
ASRAW & obj .AMask : rIIIEncoding ,
1609
1609
1610
1610
// 5.3: Load and Store Instructions (RV64I)
1611
- ALD & obj .AMask : iIEncoding ,
1611
+ ALD & obj .AMask : iIIEncoding ,
1612
1612
ASD & obj .AMask : sIEncoding ,
1613
1613
1614
1614
// 7.1: Multiplication Operations
@@ -1653,9 +1653,9 @@ var encodings = [ALAST & obj.AMask]encoding{
1653
1653
AAMOMINUD & obj .AMask : rIIIEncoding ,
1654
1654
1655
1655
// 10.1: Base Counters and Timers
1656
- ARDCYCLE & obj .AMask : iIEncoding ,
1657
- ARDTIME & obj .AMask : iIEncoding ,
1658
- ARDINSTRET & obj .AMask : iIEncoding ,
1656
+ ARDCYCLE & obj .AMask : iIIEncoding ,
1657
+ ARDTIME & obj .AMask : iIIEncoding ,
1658
+ ARDINSTRET & obj .AMask : iIIEncoding ,
1659
1659
1660
1660
// 11.5: Single-Precision Load and Store Instructions
1661
1661
AFLW & obj .AMask : iFEncoding ,
@@ -1744,8 +1744,8 @@ var encodings = [ALAST & obj.AMask]encoding{
1744
1744
// Privileged ISA
1745
1745
1746
1746
// 3.2.1: Environment Call and Breakpoint
1747
- AECALL & obj .AMask : iIEncoding ,
1748
- AEBREAK & obj .AMask : iIEncoding ,
1747
+ AECALL & obj .AMask : iIIEncoding ,
1748
+ AEBREAK & obj .AMask : iIIEncoding ,
1749
1749
1750
1750
//
1751
1751
// RISC-V Bit-Manipulation ISA-extensions (1.0)
@@ -1759,7 +1759,7 @@ var encodings = [ALAST & obj.AMask]encoding{
1759
1759
ASH2ADDUW & obj .AMask : rIIIEncoding ,
1760
1760
ASH3ADD & obj .AMask : rIIIEncoding ,
1761
1761
ASH3ADDUW & obj .AMask : rIIIEncoding ,
1762
- ASLLIUW & obj .AMask : iIEncoding ,
1762
+ ASLLIUW & obj .AMask : iIIEncoding ,
1763
1763
1764
1764
// 1.2: Basic Bit Manipulation (Zbb)
1765
1765
AANDN & obj .AMask : rIIIEncoding ,
@@ -1783,21 +1783,21 @@ var encodings = [ALAST & obj.AMask]encoding{
1783
1783
AROL & obj .AMask : rIIIEncoding ,
1784
1784
AROLW & obj .AMask : rIIIEncoding ,
1785
1785
AROR & obj .AMask : rIIIEncoding ,
1786
- ARORI & obj .AMask : iIEncoding ,
1787
- ARORIW & obj .AMask : iIEncoding ,
1786
+ ARORI & obj .AMask : iIIEncoding ,
1787
+ ARORIW & obj .AMask : iIIEncoding ,
1788
1788
ARORW & obj .AMask : rIIIEncoding ,
1789
- AORCB & obj .AMask : iIEncoding ,
1790
- AREV8 & obj .AMask : iIEncoding ,
1789
+ AORCB & obj .AMask : iIIEncoding ,
1790
+ AREV8 & obj .AMask : iIIEncoding ,
1791
1791
1792
1792
// 1.5: Single-bit Instructions (Zbs)
1793
1793
ABCLR & obj .AMask : rIIIEncoding ,
1794
- ABCLRI & obj .AMask : iIEncoding ,
1794
+ ABCLRI & obj .AMask : iIIEncoding ,
1795
1795
ABEXT & obj .AMask : rIIIEncoding ,
1796
- ABEXTI & obj .AMask : iIEncoding ,
1796
+ ABEXTI & obj .AMask : iIIEncoding ,
1797
1797
ABINV & obj .AMask : rIIIEncoding ,
1798
- ABINVI & obj .AMask : iIEncoding ,
1798
+ ABINVI & obj .AMask : iIIEncoding ,
1799
1799
ABSET & obj .AMask : rIIIEncoding ,
1800
- ABSETI & obj .AMask : iIEncoding ,
1800
+ ABSETI & obj .AMask : iIIEncoding ,
1801
1801
1802
1802
// Escape hatch
1803
1803
AWORD & obj .AMask : rawEncoding ,
0 commit comments