[llvm] [SPIR-V] Replace custom bitcast in FPMaxError decoration handling (NFC) (PR #203179)
Arseniy Obolenskiy via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 10 23:08:33 PDT 2026
https://github.com/aobolensk created https://github.com/llvm/llvm-project/pull/203179
None
>From 5bfaf8f99ddeaa879a7be50e4f8ac4c72068b4f5 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Thu, 11 Jun 2026 08:06:31 +0200
Subject: [PATCH] [SPIR-V] Replace custom bitcast in FPMaxError decoration
handling (NFC)
---
llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
index de454228f8602..58e90acd52024 100644
--- a/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
@@ -893,15 +893,6 @@ static void insertInlineAsm(MachineFunction &MF, SPIRVGlobalRegistry *GR,
insertInlineAsmProcess(MF, GR, ST, MIRBuilder, ToProcess);
}
-static uint32_t convertFloatToSPIRVWord(float F) {
- union {
- float F;
- uint32_t Spir;
- } FPMaxError;
- FPMaxError.F = F;
- return FPMaxError.Spir;
-}
-
static void insertSpirvDecorations(MachineFunction &MF, SPIRVGlobalRegistry *GR,
MachineIRBuilder MIB) {
const SPIRVSubtarget &ST = cast<SPIRVSubtarget>(MIB.getMF().getSubtarget());
@@ -920,8 +911,7 @@ static void insertSpirvDecorations(MachineFunction &MF, SPIRVGlobalRegistry *GR,
Intrinsic::spv_assign_fpmaxerror_decoration)) {
ConstantFP *OpV = mdconst::dyn_extract<ConstantFP>(
MI.getOperand(2).getMetadata()->getOperand(0));
- uint32_t OpValue =
- convertFloatToSPIRVWord(OpV->getValueAPF().convertToFloat());
+ uint32_t OpValue = OpV->getValueAPF().bitcastToAPInt().getZExtValue();
buildOpDecorate(MI.getOperand(1).getReg(), MIB,
SPIRV::Decoration::FPMaxErrorDecorationINTEL,
More information about the llvm-commits
mailing list