SFINAE на сборке?

Можно ли использовать тэки метапрограммирования, чтобы позволить SFINAE на сборных блоках? Например, чтобы определить, доступна ли на процессоре инструкция типа "CPUID": (это недопустимый код, но иллюстрирует то, что я хотел бы достичь)

// This should work if `CPUID` is a valid instruction on the target architecture
template <
  class... T,
  class = decltype(sizeof...(T), asm volatile("CPUID":::)
>
bool f(T...) {
    return true;
}

// This should fail because `BLAH` is not an instruction
template <
  class... T,
  class = decltype(sizeof...(T), asm volatile("BLAH":::)
>
bool f(T...) {
    return true;
}

Ответы