Skip to content

Commit f156620

Browse files
committed
[RISCV] Xqccmp v0.3
1 parent e0660ed commit f156620

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed

clang/test/Driver/print-supported-extensions-riscv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199
// CHECK-NEXT: smctr 1.0 'Smctr' (Control Transfer Records Machine Level)
200200
// CHECK-NEXT: ssctr 1.0 'Ssctr' (Control Transfer Records Supervisor Level)
201201
// CHECK-NEXT: svukte 0.3 'Svukte' (Address-Independent Latency of User-Mode Faults to Supervisor Addresses)
202-
// CHECK-NEXT: xqccmp 0.1 'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves)
202+
// CHECK-NEXT: xqccmp 0.3 'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves)
203203
// CHECK-NEXT: xqcia 0.4 'Xqcia' (Qualcomm uC Arithmetic Extension)
204204
// CHECK-NEXT: xqciac 0.3 'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension)
205205
// CHECK-NEXT: xqcibi 0.2 'Xqcibi' (Qualcomm uC Branch Immediate Extension)

llvm/docs/RISCVUsage.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ The current vendor extensions supported are:
437437
LLVM implements `the custom compressed opcodes present in some QingKe cores` by WCH / Nanjing Qinheng Microelectronics. The vendor refers to these opcodes by the name "XW".
438438

439439
``experimental-Xqccmp``
440-
LLVM implements `version 0.1 of the 16-bit Push/Pop instructions and double-moves extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqccmp_extension-0.1.0>`__ by Qualcomm. All instructions are prefixed with `qc.` as described in the specification.
440+
LLVM implements `version 0.3 of the 16-bit Push/Pop instructions and double-moves extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqccmp_extension-0.3.0>`__ by Qualcomm. All instructions are prefixed with `qc.` as described in the specification.
441441

442442
``experimental-Xqcia``
443443
LLVM implements `version 0.4 of the Qualcomm uC Arithmetic extension specification <https://github.com/quic/riscv-unified-db/releases/latest>`__ by Qualcomm. All instructions are prefixed with `qc.` as described in the specification. These instructions are only available for riscv32.

llvm/lib/Target/RISCV/RISCVFeatures.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1469,7 +1469,7 @@ def HasVendorXqcilo
14691469
"'Xqcilo' (Qualcomm uC Large Offset Load Store Extension)">;
14701470

14711471
def FeatureVendorXqccmp
1472-
: RISCVExperimentalExtension<0, 1,
1472+
: RISCVExperimentalExtension<0, 3,
14731473
"Qualcomm 16-bit Push/Pop and Double Moves",
14741474
[FeatureStdExtZca]>;
14751475
def HasVendorXqccmp : Predicate<"Subtarget->hasVendorXqccmp()">,

llvm/test/CodeGen/RISCV/attributes.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@
427427
; RV32XTHEADMEMPAIR: .attribute 5, "rv32i2p1_xtheadmempair1p0"
428428
; RV32XTHEADSYNC: .attribute 5, "rv32i2p1_xtheadsync1p0"
429429
; RV32XWCHC: .attribute 5, "rv32i2p1_zca1p0_xwchc2p2"
430-
; RV32XQCCMP: .attribute 5, "rv32i2p1_zca1p0_xqccmp0p1"
430+
; RV32XQCCMP: .attribute 5, "rv32i2p1_zca1p0_xqccmp0p3"
431431
; RV32XQCIA: .attribute 5, "rv32i2p1_xqcia0p4"
432432
; RV32XQCIAC: .attribute 5, "rv32i2p1_zca1p0_xqciac0p3"
433433
; RV32XQCIBI: .attribute 5, "rv32i2p1_zca1p0_xqcibi0p2"
@@ -667,7 +667,7 @@
667667
; RV64SSCTR: .attribute 5, "rv64i2p1_sscsrind1p0_ssctr1p0"
668668
; RV64SDEXT: .attribute 5, "rv64i2p1_sdext1p0"
669669
; RV64SDTRIG: .attribute 5, "rv64i2p1_sdtrig1p0"
670-
; RV64XQCCMP: .attribute 5, "rv64i2p1_zca1p0_xqccmp0p1"
670+
; RV64XQCCMP: .attribute 5, "rv64i2p1_zca1p0_xqccmp0p3"
671671

672672
; RVI20U32: .attribute 5, "rv32i2p1"
673673
; RVI20U64: .attribute 5, "rv64i2p1"

llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,13 +695,13 @@ TEST(ParseArchString, RejectsConflictingExtensions) {
695695

696696
for (StringRef Input :
697697
{"rv32idc_xqciac0p3", "rv32i_zcd_xqciac0p3", "rv32idc_xqcicm0p2",
698-
"rv32i_zcd_xqcicm0p2", "rv32idc_xqccmp0p1", "rv32i_zcd_xqccmp0p1"}) {
698+
"rv32i_zcd_xqcicm0p2", "rv32idc_xqccmp0p3", "rv32i_zcd_xqccmp0p3"}) {
699699
EXPECT_THAT(
700700
toString(RISCVISAInfo::parseArchString(Input, true).takeError()),
701701
::testing::EndsWith("extension when 'd' extension is enabled"));
702702
}
703703

704-
for (StringRef Input : {"rv32i_zcmp_xqccmp0p1", "rv64i_zcmp_xqccmp0p1"}) {
704+
for (StringRef Input : {"rv32i_zcmp_xqccmp0p3", "rv64i_zcmp_xqccmp0p3"}) {
705705
EXPECT_EQ(toString(RISCVISAInfo::parseArchString(Input, true).takeError()),
706706
"'zcmp' and 'xqccmp' extensions are incompatible");
707707
}

0 commit comments

Comments
 (0)