mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:58:11 +00:00
AK+Everywhere: Replace __builtin bit functions
In order to reduce our reliance on __builtin_{ffs, clz, ctz, popcount}, this commit removes all calls to these functions and replaces them with the equivalent functions in AK/BuiltinWrappers.h.
This commit is contained in:
parent
26bb3e1acf
commit
08e4a1a4dc
20 changed files with 108 additions and 115 deletions
|
@ -8,6 +8,7 @@
|
|||
#include "SoftCPU.h"
|
||||
#include "Emulator.h"
|
||||
#include <AK/Assertions.h>
|
||||
#include <AK/BuiltinWrappers.h>
|
||||
#include <AK/Debug.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -978,7 +979,7 @@ void SoftCPU::BOUND(const X86::Instruction&) { TODO_INSN(); }
|
|||
template<typename T>
|
||||
ALWAYS_INLINE static T op_bsf(SoftCPU&, T value)
|
||||
{
|
||||
return { (typename T::ValueType)__builtin_ctz(value.value()), value.shadow() };
|
||||
return { (typename T::ValueType)bit_scan_forward(value.value()), value.shadow() };
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue