From 1ff4fb953820c823ae8d5035c75bf43bf85e9c3c Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Sat, 15 Aug 2026 04:23:23 +0800 Subject: [RISCV][GlobalISel] Legalize scalar bit count operations --- backend/include/rcc/CodeGen/GlobalISel/LegalizerHelper.h | 1 + backend/include/rcc/CodeGen/MachineIRBuilder.h | 2 ++ 2 files changed, 3 insertions(+) (limited to 'backend/include/rcc/CodeGen') diff --git a/backend/include/rcc/CodeGen/GlobalISel/LegalizerHelper.h b/backend/include/rcc/CodeGen/GlobalISel/LegalizerHelper.h index fdb61d5..71ead8b 100644 --- a/backend/include/rcc/CodeGen/GlobalISel/LegalizerHelper.h +++ b/backend/include/rcc/CodeGen/GlobalISel/LegalizerHelper.h @@ -36,6 +36,7 @@ public: [[nodiscard]] Expected lowerMinMax(MachineInstr &Instruction); [[nodiscard]] Expected lowerThreewayCompare(MachineInstr &Instruction); [[nodiscard]] Expected lowerDivRem(MachineInstr &Instruction); + [[nodiscard]] Expected lowerBitCount(MachineInstr &Instruction); [[nodiscard]] Expected lowerBswap(MachineInstr &Instruction); [[nodiscard]] Expected lowerRotate(MachineInstr &Instruction); [[nodiscard]] Expected lowerVAArg(MachineInstr &Instruction); diff --git a/backend/include/rcc/CodeGen/MachineIRBuilder.h b/backend/include/rcc/CodeGen/MachineIRBuilder.h index f87adfe..20c4ad0 100644 --- a/backend/include/rcc/CodeGen/MachineIRBuilder.h +++ b/backend/include/rcc/CodeGen/MachineIRBuilder.h @@ -244,6 +244,8 @@ public: [[nodiscard]] Expected buildUndef(MachineIRBuilderResult Destination) const; [[nodiscard]] Expected buildAnyExtOrTrunc(MachineIRBuilderResult Destination, Register Source) const; + [[nodiscard]] Expected buildZExtOrTrunc(MachineIRBuilderResult Destination, + Register Source) const; [[nodiscard]] Expected buildSExtOrTrunc(MachineIRBuilderResult Destination, Register Source) const; [[nodiscard]] virtual Expected buildConstant(MachineIRBuilderResult Destination, -- cgit v1.2.3