s_flbit_i32_b64 (#3033)
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions

* s_flbit_i32_b64

* Split FindUMsb64 into two 32bit ops
This commit is contained in:
Marcin Mikołajczyk 2025-06-05 23:33:25 +02:00 committed by GitHub
parent 43bf4ed1bc
commit fff3bf9917
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 40 additions and 3 deletions

View file

@ -1546,8 +1546,15 @@ U32 IREmitter::FindSMsb(const U32& value) {
return Inst<U32>(Opcode::FindSMsb32, value);
}
U32 IREmitter::FindUMsb(const U32& value) {
return Inst<U32>(Opcode::FindUMsb32, value);
U32 IREmitter::FindUMsb(const U32U64& value) {
switch (value.Type()) {
case Type::U32:
return Inst<U32>(Opcode::FindUMsb32, value);
case Type::U64:
return Inst<U32>(Opcode::FindUMsb64, value);
default:
ThrowInvalidType(value.Type());
}
}
U32 IREmitter::FindILsb(const U32U64& value) {