On Thu, May 24, 2018 at 1:52 PM Nick Desaulniers <[email protected]> wrote: > On Thu, May 24, 2018 at 1:26 PM Nick Desaulniers <[email protected]> > wrote: > > On Thu, May 24, 2018 at 11:59 AM <[email protected]> wrote: > > > Issue 3: Let's face it, reading and writing the flags should be > builtins, > > exactly because it has to do stack operations, which really means the > > compiler should be involved.
> > I'm happy to propose that as a feature request to llvm+gcc. > Oh, looks like both clang and gcc have: > __builtin_ia32_readeflags_u64() > https://godbolt.org/g/SwPjhq > Maybe native_save_fl() and native_restore_fl() should be replaced in the > kernel with > __builtin_ia32_readeflags_u64() and __builtin_ia32_writeeflags_u64()? > -- > Thanks, > ~Nick Desaulniers Looks like those builtins got added to GCC around the 4.9 timeframe: https://godbolt.org/g/9VS2E9 Problematically, it seems that GCC does not have __has_builtin to do feature detection: https://clang.llvm.org/docs/LanguageExtensions.html#feature-checking-macros https://godbolt.org/g/oku8ux -- Thanks, ~Nick Desaulniers

