From bb7990a58f56f8fb9bae4d5eb01fbbe3c36fca77 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Sat, 15 Aug 2026 04:37:18 +0800 Subject: [GlobalISel] Legalize scalar PHI operations --- backend/lib/CodeGen/MachineIRBuilder.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'backend/lib/CodeGen/MachineIRBuilder.cpp') diff --git a/backend/lib/CodeGen/MachineIRBuilder.cpp b/backend/lib/CodeGen/MachineIRBuilder.cpp index 8536490..d2ac7cc 100644 --- a/backend/lib/CodeGen/MachineIRBuilder.cpp +++ b/backend/lib/CodeGen/MachineIRBuilder.cpp @@ -831,6 +831,18 @@ Expected MachineIRBuilder::buildSExt(MachineIRBuilderResult Dest return buildUnary(opcode(GenericOpcode::G_SEXT), Destination, Source); } +GenericOpcode MachineIRBuilder::getBoolExtOp(bool IsVector, bool IsFloatingPoint) const noexcept { + switch (Target->getBooleanContents(IsVector, IsFloatingPoint)) { + case BooleanContent::ZeroOrNegativeOne: + return GenericOpcode::G_SEXT; + case BooleanContent::ZeroOrOne: + return GenericOpcode::G_ZEXT; + case BooleanContent::Undefined: + return GenericOpcode::G_ANYEXT; + } + return GenericOpcode::G_ANYEXT; +} + Expected MachineIRBuilder::buildUndef(MachineIRBuilderResult Destination) const { return buildImplicitDef(Destination); } -- cgit v1.2.3