anchor.diff:        <% if remaining_flags.delete(flag) %>
           <% io.indent absolute: 1 do %>
             <% io.puts "if(vals[#{index0}][#{index1}] & (1ull << #{bit_index})) {" %>
  -          <% io.puts "  *features |= (1ull << #{unit.feature_name_to_c flag});" %>
  +          <% io.puts "  features |= (1ull << #{unit.feature_name_to_c flag});" %>
             <% io.puts %{  evoasm_info("Found support for #{flag.upcase}");} %>
             <% io.puts "} else {" %>
             <% io.puts %{  evoasm_info("Missing support for #{flag.upcase}");} %>
  
positive.code: 
  <%= io.string %>
  
  cleanup:
    EVOASM_TRY(destroy_failed, evoasm_buf_destroy, buf);
    return retval;
  
negative.code: static const char *_evoasm_log_tag = "x64";
  
  evoasm_success_t
  evoasm_x64_features(uint64_t *features_) {
    evoasm_buf_t buf_;
    evoasm_buf_t *buf = &buf_;
    evoasm_x64_params_t params = {0};
    bool retval = true;
    uint64_t features = 0;
  
    uint32_t vals[<%= Evoasm::Gen::X64::CPUID.size %>][<%= Evoasm::Gen::X64::CPUID.max_by{|k, v| v.size}.size %>] = {0};
  
  