[llvm-branch-commits] [llvm] AMDGPU: Extract lambda used in foldImmediate into a helper function (PR #127484)
Shilei Tian via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Feb 17 08:52:06 PST 2025
================
@@ -3437,6 +3437,30 @@ void SIInstrInfo::removeModOperands(MachineInstr &MI) const {
}
}
+std::optional<int64_t> SIInstrInfo::extractSubregFromImm(int64_t Imm,
+ unsigned SubRegIndex) {
+ switch (SubRegIndex) {
+ case AMDGPU::NoSubRegister:
+ return Imm;
+ case AMDGPU::sub0:
+ return Lo_32(Imm);
+ case AMDGPU::sub1:
+ return Hi_32(Imm);
+ case AMDGPU::lo16:
+ return SignExtend64<16>(Imm);
+ case AMDGPU::hi16:
+ return SignExtend64<16>(Imm >> 16);
+ case AMDGPU::sub1_lo16:
+ return SignExtend64<16>(Imm >> 32);
+ case AMDGPU::sub1_hi16:
+ return SignExtend64<16>(Imm >> 48);
+ default:
+ return std::nullopt;
+ }
+
+ llvm_unreachable("covered subregister switch");
----------------
shiltian wrote:
do we really need this to avoid compiler warning?
https://github.com/llvm/llvm-project/pull/127484
More information about the llvm-branch-commits
mailing list