Skip to content

Commit 3378558

Browse files
toppercmemfrob
authored andcommitted
Revert "[RISCV] Add IR intrinsic for Zbb extension"
This reverts commit 1808194590dd2b308bc146406425d5d52e46b7e6. I forgot to change the author.
1 parent cb61722 commit 3378558

File tree

11 files changed

+27
-153
lines changed

11 files changed

+27
-153
lines changed

clang/include/clang/Basic/BuiltinsRISCV.def

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@
1717

1818
#include "clang/Basic/riscv_vector_builtins.inc"
1919

20-
// Zbb extension
21-
TARGET_BUILTIN(__builtin_riscv_orc_b_32, "ZiZi", "nc", "experimental-zbb")
22-
TARGET_BUILTIN(__builtin_riscv_orc_b_64, "WiWi", "nc", "experimental-zbb")
23-
2420
// Zbr extension
2521
TARGET_BUILTIN(__builtin_riscv_crc32_b, "LiLi", "nc", "experimental-zbr")
2622
TARGET_BUILTIN(__builtin_riscv_crc32_h, "LiLi", "nc", "experimental-zbr")

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11187,5 +11187,5 @@ def warn_tcb_enforcement_violation : Warning<
1118711187

1118811188
// RISC-V builtin required extension warning
1118911189
def err_riscv_builtin_requires_extension : Error<
11190-
"builtin requires '%0' extension support to be enabled">;
11190+
"builtin requires %0 extension support to be enabled">;
1119111191
} // end of sema component.

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17877,13 +17877,6 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID,
1787717877
switch (BuiltinID) {
1787817878
#include "clang/Basic/riscv_vector_builtin_cg.inc"
1787917879

17880-
// Zbb
17881-
case RISCV::BI__builtin_riscv_orc_b_32:
17882-
case RISCV::BI__builtin_riscv_orc_b_64:
17883-
ID = Intrinsic::riscv_orc_b;
17884-
IntrinsicTypes = {ResultType};
17885-
break;
17886-
1788717880
// Zbr
1788817881
case RISCV::BI__builtin_riscv_crc32_b:
1788917882
ID = Intrinsic::riscv_crc32_b;
@@ -17917,8 +17910,10 @@ Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID,
1791717910
ID = Intrinsic::riscv_crc32c_d;
1791817911
IntrinsicTypes = {ResultType};
1791917912
break;
17920-
default:
17913+
default: {
1792117914
llvm_unreachable("unexpected builtin ID");
17915+
return nullptr;
17916+
} // default
1792217917
}
1792317918

1792417919
assert(ID != Intrinsic::not_intrinsic);

clang/lib/Sema/SemaChecking.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3424,7 +3424,7 @@ bool Sema::CheckRISCVBuiltinFunctionCall(const TargetInfo &TI,
34243424
for (auto &I : ReqFeatures) {
34253425
if (TI.hasFeature(I))
34263426
continue;
3427-
// Convert features like "zbr" and "experimental-zbr" to "Zbr".
3427+
// Make message like "experimental-zbr" to "Zbr"
34283428
I.consume_front("experimental-");
34293429
std::string FeatureStr = I.str();
34303430
FeatureStr[0] = std::toupper(FeatureStr[0]);

clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb.c

Lines changed: 0 additions & 15 deletions
This file was deleted.

clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbb.c

Lines changed: 0 additions & 27 deletions
This file was deleted.

llvm/include/llvm/IR/IntrinsicsRISCV.td

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,28 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
//===----------------------------------------------------------------------===//
14+
// RISC-V Bitmanip (Bit Manipulation) Extension
15+
// Zbr extension part
16+
17+
let TargetPrefix = "riscv" in {
18+
19+
class BitMan_GPR_Intrinsics
20+
: Intrinsic<[llvm_any_ty],
21+
[LLVMMatchType<0>],
22+
[IntrNoMem, IntrSpeculatable, IntrWillReturn]>;
23+
24+
def int_riscv_crc32_b : BitMan_GPR_Intrinsics;
25+
def int_riscv_crc32_h : BitMan_GPR_Intrinsics;
26+
def int_riscv_crc32_w : BitMan_GPR_Intrinsics;
27+
def int_riscv_crc32_d : BitMan_GPR_Intrinsics;
28+
def int_riscv_crc32c_b : BitMan_GPR_Intrinsics;
29+
def int_riscv_crc32c_h : BitMan_GPR_Intrinsics;
30+
def int_riscv_crc32c_w : BitMan_GPR_Intrinsics;
31+
def int_riscv_crc32c_d : BitMan_GPR_Intrinsics;
32+
33+
} // TargetPrefix = "riscv"
34+
1335
//===----------------------------------------------------------------------===//
1436
// Atomics
1537

@@ -67,30 +89,6 @@ let TargetPrefix = "riscv" in {
6789

6890
} // TargetPrefix = "riscv"
6991

70-
//===----------------------------------------------------------------------===//
71-
// Bitmanip (Bit Manipulation) Extension
72-
73-
let TargetPrefix = "riscv" in {
74-
75-
class BitManipGPRIntrinsics
76-
: Intrinsic<[llvm_any_ty],
77-
[LLVMMatchType<0>],
78-
[IntrNoMem, IntrSpeculatable, IntrWillReturn]>;
79-
80-
// Zbb
81-
def int_riscv_orc_b : BitManipGPRIntrinsics;
82-
83-
// Zbr
84-
def int_riscv_crc32_b : BitManipGPRIntrinsics;
85-
def int_riscv_crc32_h : BitManipGPRIntrinsics;
86-
def int_riscv_crc32_w : BitManipGPRIntrinsics;
87-
def int_riscv_crc32_d : BitManipGPRIntrinsics;
88-
def int_riscv_crc32c_b : BitManipGPRIntrinsics;
89-
def int_riscv_crc32c_h : BitManipGPRIntrinsics;
90-
def int_riscv_crc32c_w : BitManipGPRIntrinsics;
91-
def int_riscv_crc32c_d : BitManipGPRIntrinsics;
92-
} // TargetPrefix = "riscv"
93-
9492
//===----------------------------------------------------------------------===//
9593
// Vectors
9694

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,6 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
198198
setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Expand);
199199
}
200200

201-
if (Subtarget.hasStdExtZbb() && Subtarget.is64Bit())
202-
setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i32, Custom);
203-
204201
if (Subtarget.is64Bit()) {
205202
setOperationAction(ISD::ADD, MVT::i32, Custom);
206203
setOperationAction(ISD::SUB, MVT::i32, Custom);
@@ -4201,14 +4198,6 @@ void RISCVTargetLowering::ReplaceNodeResults(SDNode *N,
42014198
default:
42024199
llvm_unreachable(
42034200
"Don't know how to custom type legalize this intrinsic!");
4204-
case Intrinsic::riscv_orc_b: {
4205-
SDValue Newop1 =
4206-
DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, N->getOperand(1));
4207-
SDValue Res =
4208-
DAG.getNode(N->getOpcode(), DL, MVT::i64, N->getOperand(0), Newop1);
4209-
Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Res));
4210-
return;
4211-
}
42124201
case Intrinsic::riscv_vmv_x_s: {
42134202
EVT VT = N->getValueType(0);
42144203
MVT XLenVT = Subtarget.getXLenVT();

llvm/lib/Target/RISCV/RISCVInstrInfoB.td

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -894,10 +894,6 @@ def : Pat<(i64 (or (and (assertsexti32 GPR:$rs2), 0xFFFFFFFFFFFF0000),
894894
(PACKUW GPR:$rs1, GPR:$rs2)>;
895895
} // Predicates = [HasStdExtZbp, IsRV64]
896896

897-
let Predicates = [HasStdExtZbb] in {
898-
def : PatGpr<int_riscv_orc_b, ORCB>;
899-
} // Predicates = [HasStdExtZbb]
900-
901897
let Predicates = [HasStdExtZbr] in {
902898
def : PatGpr<int_riscv_crc32_b, CRC32B>;
903899
def : PatGpr<int_riscv_crc32_h, CRC32H>;

llvm/test/CodeGen/RISCV/rv32zbb-intrinsic.ll

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)