Skip to content

Commit 00f02fe

Browse files
authored
[RISCV] Change the vendor prefix for Rivos from "rv." to "ri." (llvm#128761)
There had been concern raised about possible confusion with "rvv". After internal discussion, we decided to go with an alternate prefix to reduce possible confusion going forward. The specification document (https://github.com/rivosinc/rivos-custom-extensions) has been updated. And also add the XRivosVizip extension to the documentation. I'd missed that in the initial commit.
1 parent f22291c commit 00f02fe

File tree

4 files changed

+40
-37
lines changed

4 files changed

+40
-37
lines changed

llvm/docs/RISCVUsage.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,9 @@ The current vendor extensions supported are:
468468
``Xmipslsp``
469469
LLVM implements load/store pair instructions for the `p8700 processor <https://mips.com/products/hardware/p8700/>` by MIPS.
470470

471+
``experimental-XRivosVizip``
472+
LLVM implements `version 0.1 of the Rivos Vector Register Zips extension specification <https://github.com/rivosinc/rivos-custom-extensions>`__.
473+
471474
Experimental C Intrinsics
472475
=========================
473476

llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
let Predicates = [HasVendorXRivosVizip], DecoderNamespace = "XRivos",
1919
Constraints = "@earlyclobber $vd", RVVConstraint = Vrgather,
2020
Inst<6-0> = OPC_CUSTOM_2.Value in {
21-
defm RV_VZIPEVEN_V : VALU_IV_V<"rv.vzipeven", 0b001100>;
22-
defm RV_VZIPODD_V : VALU_IV_V<"rv.vzipodd", 0b011100>;
23-
defm RV_VZIP2A_V : VALU_IV_V<"rv.vzip2a", 0b000100>;
24-
defm RV_VZIP2B_V : VALU_IV_V<"rv.vzip2b", 0b010100>;
25-
defm RV_VUNZIP2A_V : VALU_IV_V<"rv.vunzip2a", 0b001000>;
26-
defm RV_VUNZIP2B_V : VALU_IV_V<"rv.vunzip2b", 0b011000>;
21+
defm RI_VZIPEVEN_V : VALU_IV_V<"ri.vzipeven", 0b001100>;
22+
defm RI_VZIPODD_V : VALU_IV_V<"ri.vzipodd", 0b011100>;
23+
defm RI_VZIP2A_V : VALU_IV_V<"ri.vzip2a", 0b000100>;
24+
defm RI_VZIP2B_V : VALU_IV_V<"ri.vzip2b", 0b010100>;
25+
defm RI_VUNZIP2A_V : VALU_IV_V<"ri.vunzip2a", 0b001000>;
26+
defm RI_VUNZIP2B_V : VALU_IV_V<"ri.vunzip2b", 0b011000>;
2727
}

llvm/test/MC/RISCV/xrivosvizip-invalid.s

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
# Disallowed source/dest overlap cases
55
# CHECK: error: the destination vector register group cannot overlap the source vector register group
6-
rv.vzipeven.vv v2, v2, v3
6+
ri.vzipeven.vv v2, v2, v3
77
# CHECK: error: the destination vector register group cannot overlap the source vector register group
8-
rv.vzipeven.vv v3, v2, v3
8+
ri.vzipeven.vv v3, v2, v3
99
# CHECK: error: the destination vector register group cannot overlap the mask register
10-
rv.vzipeven.vv v0, v2, v3, v0.t
10+
ri.vzipeven.vv v0, v2, v3, v0.t

llvm/test/MC/RISCV/xrivosvizip-valid.s

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,51 @@
99
# RUN: | llvm-objdump --mattr=+experimental-xrivosvizip -M no-aliases -d -r - \
1010
# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
1111

12-
# CHECK-ASM-AND-OBJ: rv.vzipeven.vv v1, v2, v3
12+
# CHECK-ASM-AND-OBJ: ri.vzipeven.vv v1, v2, v3
1313
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x32]
14-
rv.vzipeven.vv v1, v2, v3
15-
# CHECK-ASM-AND-OBJ: rv.vzipeven.vv v1, v2, v3, v0.t
14+
ri.vzipeven.vv v1, v2, v3
15+
# CHECK-ASM-AND-OBJ: ri.vzipeven.vv v1, v2, v3, v0.t
1616
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x30]
17-
rv.vzipeven.vv v1, v2, v3, v0.t
18-
# CHECK-ASM-AND-OBJ: rv.vzipodd.vv v1, v2, v3
17+
ri.vzipeven.vv v1, v2, v3, v0.t
18+
# CHECK-ASM-AND-OBJ: ri.vzipodd.vv v1, v2, v3
1919
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x72]
20-
rv.vzipodd.vv v1, v2, v3
21-
# CHECK-ASM-AND-OBJ: rv.vzipodd.vv v1, v2, v3, v0.t
20+
ri.vzipodd.vv v1, v2, v3
21+
# CHECK-ASM-AND-OBJ: ri.vzipodd.vv v1, v2, v3, v0.t
2222
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x70]
23-
rv.vzipodd.vv v1, v2, v3, v0.t
23+
ri.vzipodd.vv v1, v2, v3, v0.t
2424

25-
# CHECK-ASM-AND-OBJ: rv.vzip2a.vv v1, v2, v3
25+
# CHECK-ASM-AND-OBJ: ri.vzip2a.vv v1, v2, v3
2626
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x12]
27-
rv.vzip2a.vv v1, v2, v3
28-
# CHECK-ASM-AND-OBJ: rv.vzip2a.vv v1, v2, v3, v0.t
27+
ri.vzip2a.vv v1, v2, v3
28+
# CHECK-ASM-AND-OBJ: ri.vzip2a.vv v1, v2, v3, v0.t
2929
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x10]
30-
rv.vzip2a.vv v1, v2, v3, v0.t
31-
# CHECK-ASM-AND-OBJ: rv.vzip2b.vv v1, v2, v3
30+
ri.vzip2a.vv v1, v2, v3, v0.t
31+
# CHECK-ASM-AND-OBJ: ri.vzip2b.vv v1, v2, v3
3232
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x52]
33-
rv.vzip2b.vv v1, v2, v3
34-
# CHECK-ASM-AND-OBJ: rv.vzip2b.vv v1, v2, v3, v0.t
33+
ri.vzip2b.vv v1, v2, v3
34+
# CHECK-ASM-AND-OBJ: ri.vzip2b.vv v1, v2, v3, v0.t
3535
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x50]
36-
rv.vzip2b.vv v1, v2, v3, v0.t
36+
ri.vzip2b.vv v1, v2, v3, v0.t
3737

38-
# CHECK-ASM-AND-OBJ: rv.vunzip2a.vv v1, v2, v3
38+
# CHECK-ASM-AND-OBJ: ri.vunzip2a.vv v1, v2, v3
3939
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x22]
40-
rv.vunzip2a.vv v1, v2, v3
41-
# CHECK-ASM-AND-OBJ: rv.vunzip2a.vv v1, v2, v3, v0.t
40+
ri.vunzip2a.vv v1, v2, v3
41+
# CHECK-ASM-AND-OBJ: ri.vunzip2a.vv v1, v2, v3, v0.t
4242
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x20]
43-
rv.vunzip2a.vv v1, v2, v3, v0.t
44-
# CHECK-ASM-AND-OBJ: rv.vunzip2b.vv v1, v2, v3
43+
ri.vunzip2a.vv v1, v2, v3, v0.t
44+
# CHECK-ASM-AND-OBJ: ri.vunzip2b.vv v1, v2, v3
4545
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x62]
46-
rv.vunzip2b.vv v1, v2, v3
47-
# CHECK-ASM-AND-OBJ: rv.vunzip2b.vv v1, v2, v3, v0.t
46+
ri.vunzip2b.vv v1, v2, v3
47+
# CHECK-ASM-AND-OBJ: ri.vunzip2b.vv v1, v2, v3, v0.t
4848
# CHECK-ASM: encoding: [0xdb,0x80,0x21,0x60]
49-
rv.vunzip2b.vv v1, v2, v3, v0.t
49+
ri.vunzip2b.vv v1, v2, v3, v0.t
5050

5151
# Overlap between source registers *is* allowed
5252

53-
# CHECK-ASM-AND-OBJ: rv.vzipeven.vv v1, v2, v2
53+
# CHECK-ASM-AND-OBJ: ri.vzipeven.vv v1, v2, v2
5454
# CHECK-ASM: encoding: [0xdb,0x00,0x21,0x32]
55-
rv.vzipeven.vv v1, v2, v2
55+
ri.vzipeven.vv v1, v2, v2
5656

57-
# CHECK-ASM-AND-OBJ: rv.vzipeven.vv v1, v2, v0, v0.t
57+
# CHECK-ASM-AND-OBJ: ri.vzipeven.vv v1, v2, v0, v0.t
5858
# CHECK-ASM: encoding: [0xdb,0x00,0x20,0x30]
59-
rv.vzipeven.vv v1, v2, v0, v0.t
59+
ri.vzipeven.vv v1, v2, v0, v0.t

0 commit comments

Comments
 (0)