XyrisOS / xyris

The Xyris Kernel
https://xyr.is
MIT License
152 stars 11 forks source link

Use GCC Builtins for CPUID Checks #343

Open Kfeavel opened 2 years ago

Kfeavel commented 2 years ago

See x86-Built-in-Functions for details.

__builtin_cpu_init();
if (__builtin_cpu_supports ("ssse3"))
    return ssse3_memcpy; // super fast memcpy with ssse3 instructions.
else
    return default_memcpy;

Other helpful functions:

int __builtin_cpu_is(const char* cpuname)

Not sure if these functions would be available during the bootloader to kernel bootstrap process, but if they are, then that will help a lot.

micahswitzer commented 2 years ago

They should be and it would make a lot of sense to use them