Code compilers like the prominent GCC and LLVM/Clang have been advertising support for the Cache Line Demote “CLDEMOTE” instruction on Arrow Lake processors as well as Lunar Lake and upcoming Panther Lake hybrid processors. Intel engineers added that compiler plumbing but was inaccurate and inadvertently missed until now with this prominent instruction not being supported there.
The CLDEMOTE instruction allows for the OS to tell the CPU core to demote a specified cache line to a higher cache level further away from the core. CLDEMOTE was found beginning with Intel Xeon Sapphire Rapids processors and can be helpful for system performance.
The compiler patches for GCC and LLVM/Clang have advertised CLDEMOTE being found with Arrow Lake, Lunar Lake, and upcoming Panther Lake but is inaccurate. That compiler enablement work was originally submitted years ago by Intel engineers but turned out to be inaccurate. This slipped under my radar too but when checking tonight on my Arrow Lake systems, CLDEMOTE support is indeed not advertised by the processor.
Intel engineer Phoebe Wang landed a patch today within LLVM Git via this pull request to now remove the presence of CLDEMOTE from “arrowlake” targeting as well as future Intel hybrid CPU models. This also splits up the Arrow Lake and Intel Xeon E “Sierra Forest” handling with that Xeon E-core processor supporting CLDEMOTE.
The GCC compiler is still advertising and will attempt to use CLDEMOTE on Arrow Lake and later too, but presumably will see a similar patch soon for removing the presence of CLDEMOTE on those Intel Core Ultra CPUs too.