// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)

////////////////////////////////
//~ rjf: Config Sources

@table(string, name, load_cmd, write_cmd, apply_cmd)
DF_CfgSrcTable:
{
  {"user"            User             OpenUser       WriteUserData       ApplyUserData    }
  {"project"         Project          OpenProject    WriteProjectData    ApplyProjectData }
  {"command_line"    CommandLine      Null           Null                Null             }
  {"transient"       Transient        Null           Null                Null             }
}

////////////////////////////////
//~ rjf: Entity Kind Tables

@table(name          name_lower            op_delete     op_freeze       op_edit      op_rename    op_enable       op_cond       op_dup       lf_mut_user_cfg     tr_mut_user_cfg     lf_mut_prof_cfg     tr_mut_prof_cfg     lf_mut_halt   lf_mut_dbg   tr_mut_halt   tr_mut_dbg   name_is_code   user_lifetime            name_label          icon_kind              display_string)
DF_EntityKindTable:
{
  {Nil                nil                   0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "Nil"                        }
  {Root               root                  0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "Root"                       }
  {Machine            machine               0             1               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Machine                "Machine"                    }
  
  //- rjf: filesystem modeling
  {File               file                  0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             FileOutline            "File"                       }
  {OverrideFileLink   override_file_link    0             0               0            0            0               0             0            1                   0                    0                  0                   0             0            0             0            0              0                        "Label"             FileOutline            "Override File Link"         }
  
  //- rjf: auto view rules
  {AutoViewRule       auto_view_rule        0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              1                        "Label"             Binoculars             "Auto View Rule"             }
  
  //- rjf: text attachments
  {FlashMarker        flash_marker          0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "Flash Marker"               }
  
  //- rjf: watch pins
  {WatchPin           watch_pin             1             0               0            1            0               0             1            0                   0                    0                  0                   0             0            0             0            1              1                        "Expression"        Pin                    "Watch Pin"                  }
  
  //- rjf: breakpoints
  {Breakpoint         breakpoint            1             0               0            1            1               1             1            0                   0                    1                  0                   1             0            0             0            0              1                        "Label"             CircleFilled           "Breakpoint"                 }
  {Condition          condition             0             0               0            0            0               0             0            0                   0                    1                  1                   1             0            0             0            1              1                        "Expression"        CircleFilled           "Condition"                  }
  
  //- rjf: targets
  {Target             target                1             0               1            1            1               0             1            0                   0                    1                  0                   0             0            0             0            0              1                        "Label"             Target                 "Target"                     }
  {Executable         executable            0             0               0            0            0               0             0            0                   0                    1                  0                   0             0            0             0            0              1                        "Executable"        Null                   "Executable"                 }
  {Arguments          arguments             0             0               0            0            0               0             0            0                   0                    1                  0                   0             0            0             0            0              1                        "Arguments"         Null                   "Arguments"                  }
  {ExecutionPath      execution_path        0             0               0            0            0               0             0            0                   0                    1                  0                   0             0            0             0            0              1                        "Execution Path"    Null                   "Execution Path"             }
  {EntryPointName     entry_point_name      0             0               0            0            0               0             0            0                   0                    1                  0                   1             0            0             0            0              1                        "Symbol Name"       Null                   "Entry Point Name"           }
  
  //- rjf: recent projects
  {RecentProject      recent_project        0             0               0            0            0               0             0            1                   1                    0                  0                   0             0            0             0            0              0                        "Path"              Briefcase              "Recent Project"             }
  
  //- rjf: src -> dst mapping
  {Source             source                0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Path"              Null                   "Source"                     }
  {Dest               dest                  0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Path"              Null                   "Destination"                }
  
  //- rjf: control system entities
  {Process            process               0             1               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Threads                "Process"                    }
  {Thread             thread                0             1               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Thread                 "Thread"                     }
  {Module             module                0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Module                 "Module"                     }
  {PendingThreadName  pending_thread_name   0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Threads                "Pending Thread Name"        }
  {DebugInfoPath      debug_info_path       0             0               0            0            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Module                 "Debug Info Path"            }
  
  //- rjf: parser task entities
  {ConversionTask     conversion_task       0             0               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "Conversion Task"            }
  {ConversionFail     conversion_fail       0             0               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "Conversion Failure"         }
  
  //- rjf: history
  {EndedProcess       ended_process         1             0               0            1            0               0             0            0                   0                    0                  0                   0             0            0             0            0              0                        "Label"             Null                   "EndedProcess"               }
}

////////////////////////////////
//~ rjf: Built-In Command Tables

@table(name, name_lower, c_type)
DF_CmdParamSlotTable:
{
  {Window            window                `DF_Handle`}
  {Panel             panel                 `DF_Handle`}
  {DestPanel         dest_panel            `DF_Handle`}
  {PrevView          prev_view             `DF_Handle`}
  {View              view                  `DF_Handle`}
  {Entity            entity                `DF_Handle`}
  {EntityList        entity_list           `DF_HandleList`}
  {String            string                `String8`}
  {FilePath          file_path             `String8`}
  {TextPoint         text_point            `TxtPt`}
  {CmdSpec           cmd_spec              `struct DF_CmdSpec *`}
  {ViewSpec          view_spec             `struct DF_ViewSpec *`}
  {CfgNode           cfg_node              `struct DF_CfgNode *`}
  {OSEvent           os_event              `struct OS_Event *`}
  {VirtualAddr       vaddr                 `U64`}
  {VirtualOff        voff                  `U64`}
  {Index             index                 `U64`}
  {ID                id                    `U64`}
  {PreferDisassembly prefer_dasm           `B32`}
  {ForceConfirm      force_confirm         `B32`}
  {Dir2              dir2                  `Dir2`}
}

@table(name                      lister_omit  q_slot       q_ent_kind  q_allow_files q_allow_folders  q_keep_oi   q_select_oi  q_is_code  q_required           canonical_icon        string                        display_name                                  desc                                                                                                               search_tags                      )
//    /                          |            |             \___                                     ______________________________________________/           |                     |                             |                                             |                                                                                                                  |
//   /                           |            |                 \                                   /                                                          |                     |                             |                                             |                                                                                                                  |
DF_CoreCmdTable://               |            |                  |                                 |                                                           |                     |                             |                                             |                                                                                                                  |
{
  {Null                           1            Null               Nil                0  0  0  0  0  0                                                           Null                  ""                            ""                                            ""                                                                                                                 ""                               }
  
  //- rjf: exiting
  {Exit                           0            Null               Nil                0  0  0  0  0  0                                                           X                     "exit"                        "Exit"                                        "Exits the debugger."                                                                                              "quit,close,abort"               }
  
  //- rjf: command runner
  {RunCommand                     0            CmdSpec            Nil                0  0  0  0  0  0                                                           Null                  "run_command"                 "Run Command"                                 "Runs a command from the command palette."                                                                         "help,cmd"                       }
  
  //- rjf: notifications
  {Error                          1            Null               Nil                0  0  0  0  0  0                                                           Null                  "error"                       "Error"                                       "Notifies of an error."                                                                                            ""                               }
  
  //- rjf: os event passthrough
  {OSEvent                        1            Null               Nil                0  0  0  0  0  0                                                           Null                  "os_event"                    "OS Event"                                    ""                                                                                                                 ""                               }
  
  //- rjf: low-level target control operations
  {LaunchAndRun                   0            EntityList         Target             0  0  0  0  0  1                                                           Play                  "launch_and_run"              "Launch and Run"                              "Starts debugging a new instance of a target, then runs."                                                          "launch,start,run,target"        }
  {LaunchAndInit                  0            EntityList         Target             0  0  0  0  0  1                                                           PlayStepForward       "launch_and_init"             "Launch and Initialize"                       "Starts debugging a new instance of a target, then stops at the program's entry point."                            "launch,start,entry,point"       }
  {Kill                           0            EntityList         Process            0  0  0  0  0  1                                                           Stop                  "kill"                        "Kill"                                        "Kills the specified existing debugged process(es)."                                                               "stop,kill"                      }
  {KillAll                        0            Null               Nil                0  0  0  0  0  0                                                           Stop                  "kill_all"                    "Kill All"                                    "Kills all debugged child processes."                                                                              "stop,kill,all"                  }
  {Detach                         0            EntityList         Process            0  0  0  0  0  1                                                           Null                  "detach"                      "Detach"                                      "Detaches the specified debugged process."                                                                         "detach"                         }
  {Continue                       0            Null               Nil                0  0  0  0  0  0                                                           Play                  "continue"                    "Continue"                                    "Continues all halted threads."                                                                                    ""                               }
  {StepIntoInst                   0            Null               Nil                0  0  0  0  0  0                                                           StepInto              "step_into_inst"              "Step Into (Assembly)"                        "Performs a step that goes into calls, at the instruction level."                                                  "single,step,thread"             }
  {StepOverInst                   0            Null               Nil                0  0  0  0  0  0                                                           StepOver              "step_over_inst"              "Step Over (Assembly)"                        "Performs a step that skips calls, at the instruction level."                                                      "single,step,thread"             }
  {StepIntoLine                   0            Null               Nil                0  0  0  0  0  0                                                           StepInto              "step_into_line"              "Step Into (Line)"                            "Performs a step that goes into calls, at the source code line level."                                             "step,thread"                    }
  {StepOverLine                   0            Null               Nil                0  0  0  0  0  0                                                           StepOver              "step_over_line"              "Step Over (Line)"                            "Performs a step that skips calls, at the source code line level."                                                 "step,thread"                    }
  {StepOut                        0            Null               Nil                0  0  0  0  0  0                                                           StepOut               "step_out"                    "Step Out"                                    "Runs to the end of the current function and exits it."                                                            ""                               }
  {Halt                           0            Null               Nil                0  0  0  0  0  0                                                           Pause                 "halt"                        "Halt"                                        "Halts all running processes."                                                                                     "pause"                          }
  {SoftHaltRefresh                0            Null               Nil                0  0  0  0  0  0                                                           Refresh               "soft_halt_refresh"           "Soft Halt Refresh"                           "Interrupts all running processes to collect data, and then resumes them."                                         ""                               }
  {SetThreadIP                    1            VirtualAddr        Nil                0  0  0  0  1  1                                                           Null                  "set_thread_ip"               "Set Thread IP"                               "Sets the passed thread's instruction pointer at the passed address."                                              ""                               }
  
  //- rjf: high-level composite target control operations
  {RunToLine                      1            Null               Nil                0  0  0  0  0  0                                                           Play                  "run_to_line"                 "Run To Line"                                 "Runs until a particular source line is hit."                                                                      ""                               }
  {RunToAddress                   0            VirtualAddr        Nil                0  0  0  0  1  1                                                           PlayStepForward       "run_to_address"              "Run To Address"                              "Runs until a particular address is hit."                                                                          ""                               }
  {Run                            0            Null               Nil                0  0  0  0  0  0                                                           Play                  "run"                         "Run"                                         "Runs all targets after starting them if they have not been started yet."                                          "play"                           }
  {Restart                        0            Null               Nil                0  0  0  0  0  0                                                           Redo                  "restart"                     "Restart"                                     "Kills all running processes, then restarts the targets which were used to launch all current processes (if any)." "restart,retry"                  }
  {StepInto                       0            Null               Nil                0  0  0  0  0  0                                                           StepInto              "step_into"                   "Step Into"                                   "Steps once, possibly into function calls, for either line or instructions."                                       ""                               }
  {StepOver                       0            Null               Nil                0  0  0  0  0  0                                                           StepOver              "step_over"                   "Step Over"                                   "Steps once, always over function calls, for either line or instructions."                                         ""                               }
  {RunToCursor                    0            Null               Nil                0  0  0  0  0  0                                                           Play                  "run_to_cursor"               "Run To Cursor"                               "Runs the selected thread to the current cursor."                                                                  ""                               }
  {SetNextStatement               0            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "set_next_statement"          "Set Next Statement"                          "Sets the selected thread's instruction pointer to the cursor's position."                                         ""                               }
  
  //- rjf: solo stepping mode
  {EnableSoloSteppingMode         0            Null               Nil                0  0  0  0  0  0                                                           Thread                "enable_solo_stepping_mode"   "Enable Solo Stepping Mode"                   "Enables 'solo stepping mode', which suspends all non-selected threads before stepping."                           "solo,stepping,mode,suspend"     }
  {DisableSoloSteppingMode        0            Null               Nil                0  0  0  0  0  0                                                           Thread                "disable_solo_stepping_mode"  "Disable Solo Stepping Mode"                  "Disables 'solo stepping mode', which suspends all non-selected threads before stepping."                          "solo,stepping,mode,suspend"     }
  
  //- rjf: debug control context management operations
  {SelectThread                   0            Entity             Thread             0  0  0  0  0  1                                                           Null                  "select_thread"               "Select Thread"                               "Selects a thread."                                                                                                ""                               }
  {SelectThreadWindow             0            Entity             Thread             0  0  0  0  0  1                                                           Null                  "select_thread_window"        "Select Thread On Window"                     "Selects a thread for the active window, overriding the global selected thread."                                   ""                               }
  {SelectThreadView               0            Entity             Thread             0  0  0  0  0  1                                                           Null                  "select_thread_view"          "Select Thread On View"                       "Selects a thread for the active view, overriding the global and per-window selected threads."                     ""                               }
  {SelectUnwind                   1            Null               Nil                0  0  0  0  0  0                                                           Null                  "select_unwind"               "Select Unwind"                               "Selects an unwind frame number for the selected thread."                                                          ""                               }
  {UpOneFrame                     0            Null               Nil                0  0  0  0  0  0                                                           UpArrow               "up_one_frame"                "Up One Frame"                                "Selects the callstack frame above the currently selected."                                                        ""                               }
  {DownOneFrame                   0            Null               Nil                0  0  0  0  0  0                                                           DownArrow             "down_one_frame"              "Down One Frame"                              "Selects the callstack frame below the currently selected."                                                        ""                               }
  {FreezeThread                   0            Entity             Thread             0  0  0  0  0  1                                                           Locked                "freeze_thread"               "Freeze Thread"                               "Freezes the passed thread."                                                                                       ""                               }
  {ThawThread                     0            Entity             Thread             0  0  0  0  0  1                                                           Unlocked              "thaw_thread"                 "Thaw Thread"                                 "Thaws the passed thread."                                                                                         ""                               }
  {FreezeProcess                  0            Entity             Process            0  0  0  0  0  1                                                           Locked                "freeze_process"              "Freeze Process"                              "Freezes the passed process."                                                                                      ""                               }
  {ThawProcess                    0            Entity             Process            0  0  0  0  0  1                                                           Unlocked              "thaw_process"                "Thaw Process"                                "Thaws the passed process."                                                                                        ""                               }
  {FreezeMachine                  1            Entity             Machine            0  0  0  0  0  1                                                           Locked                "freeze_machine"              "Freeze Machine"                              "Freezes the passed machine."                                                                                      ""                               }
  {ThawMachine                    1            Entity             Machine            0  0  0  0  0  1                                                           Unlocked              "thaw_machine"                "Thaw Machine"                                "Thaws the passed machine."                                                                                        ""                               }
  {FreezeLocalMachine             0            Null               Nil                0  0  0  0  0  0                                                           Machine               "freeze_local_machine"        "Freeze Local Machine"                        "Freezes the local machine."                                                                                       ""                               }
  {ThawLocalMachine               0            Null               Nil                0  0  0  0  0  0                                                           Machine               "thaw_local_machine"          "Thaw Local Machine"                          "Thaws the local machine."                                                                                         ""                               }
  
  //- rjf: font sizes
  {IncUIFontScale                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "inc_ui_font_scale"           "Increase UI Font Scale"                      "Increases the font size used for UI."                                                                             ""                               }
  {DecUIFontScale                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "dec_ui_font_scale"           "Decrease UI Font Scale"                      "Decreases the font size used for UI."                                                                             ""                               }
  {IncCodeFontScale               0            Null               Nil                0  0  0  0  0  0                                                           Null                  "inc_code_font_scale"         "Increase Code Font Scale"                    "Increases the font size used for code."                                                                           ""                               }
  {DecCodeFontScale               0            Null               Nil                0  0  0  0  0  0                                                           Null                  "dec_code_font_scale"         "Decrease Code Font Scale"                    "Decreases the font size used for code."                                                                           ""                               }
  
  //- rjf: windows
  {OpenWindow                     0            Null               Nil                0  0  0  0  0  0                                                           Window                "open_window"                 "Open New Window"                             "Opens a new window."                                                                                              ""                               }
  {CloseWindow                    0            Null               Nil                0  0  0  0  0  0                                                           Window                "close_window"                "Close Window"                                "Closes an opened window."                                                                                         ""                               }
  {ToggleFullscreen               0            Null               Nil                0  0  0  0  0  0                                                           Window                "toggle_fullscreen"           "Toggle Fullscreen"                           "Toggles fullscreen view on the active window."                                                                    ""                               }
  
  //- rjf: confirmations
  {ConfirmAccept                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "confirm_accept"              "Confirm Accept"                              "Accepts the active confirmation prompt."                                                                          ""                               }
  {ConfirmCancel                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "confirm_cancel"              "Confirm Cancel"                              "Cancels the active confirmation prompt."                                                                          ""                               }
  
  //- rjf: panel splitting
  {ResetToDefaultPanels           0            Null               Nil                0  0  0  0  0  0                                                           Window                "reset_to_default_panels"     "Reset To Default Panel Layout"               "Resets the window to the default panel layout."                                                                   "panel"                          }
  {ResetToCompactPanels           0            Null               Nil                0  0  0  0  0  0                                                           Window                "reset_to_compact_panels"     "Reset To Compact Panel Layout"               "Resets the window to the compact panel layout."                                                                   "panel"                          }
  {NewPanelLeft                   0            Null               Nil                0  0  0  0  0  0                                                           XSplit                "new_panel_left"              "Split Panel Left"                            "Creates a new panel to the left of the active panel."                                                             "panel"                          }
  {NewPanelUp                     0            Null               Nil                0  0  0  0  0  0                                                           YSplit                "new_panel_up"                "Split Panel Up"                              "Creates a new panel at the top of the active panel."                                                              "panel"                          }
  {NewPanelRight                  0            Null               Nil                0  0  0  0  0  0                                                           XSplit                "new_panel_right"             "Split Panel Right"                           "Creates a new panel to the right of the active panel."                                                            "panel"                          }
  {NewPanelDown                   0            Null               Nil                0  0  0  0  0  0                                                           YSplit                "new_panel_down"              "Split Panel Down"                            "Creates a new panel at the bottom of the active panel."                                                           "panel"                          }
  {SplitPanel                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "split_panel"                 "Split Panel"                                 "Creates a new panel in a given direction, and moves a tab to it, if specified."                                   ""                               }
  
  //- rjf: panel rotation
  {RotatePanelColumns             0            Null               Nil                0  0  0  0  0  0                                                           Null                  "rotate_panel_columns"        "Rotate Panel Columns"                        "Rotates all panels at the closest column level of the panel hierarchy."                                           ""                               }
  
  //- rjf: focused panel changing
  {NextPanel                      0            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "next_panel"                  "Focus Next Panel"                            "Cycles the active panel forward."                                                                                 ""                               }
  {PrevPanel                      0            Null               Nil                0  0  0  0  0  0                                                           LeftArrow             "prev_panel"                  "Focus Previous Panel"                        "Cycles the active panel backwards."                                                                               ""                               }
  {FocusPanel                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "focus_panel"                 "Focus Panel"                                 "Focuses a new panel."                                                                                             ""                               }
  {FocusPanelRight                0            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "focus_panel_right"           "Focus Panel Right"                           "Focuses a panel rightward of the currently focused panel."                                                        ""                               }
  {FocusPanelLeft                 0            Null               Nil                0  0  0  0  0  0                                                           LeftArrow             "focus_panel_left"            "Focus Panel Left"                            "Focuses a panel leftward of the currently focused panel."                                                         ""                               }
  {FocusPanelUp                   0            Null               Nil                0  0  0  0  0  0                                                           UpArrow               "focus_panel_up"              "Focus Panel Up"                              "Focuses a panel upward of the currently focused panel."                                                           ""                               }
  {FocusPanelDown                 0            Null               Nil                0  0  0  0  0  0                                                           DownArrow             "focus_panel_down"            "Focus Panel Down"                            "Focuses a panel downward of the currently focused panel."                                                         ""                               }
  
  //- rjf: undo/redo
  {Undo                           1            Null               Nil                0  0  0  0  0  0                                                           Undo                  "undo"                        "Undo"                                        "Undoes the previous action."                                                                                      ""                               }
  {Redo                           1            Null               Nil                0  0  0  0  0  0                                                           Redo                  "redo"                        "Redo"                                        "Redoes the first previously undone action."                                                                       ""                               }
  
  //- rjf: focus history
  {GoBack                         1            Null               Nil                0  0  0  0  0  0                                                           LeftArrow             "go_back"                     "Go Back"                                     "Returns to the previously selected panel and tab in recorded history."                                            ""                               }
  {GoForward                      1            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "go_forward"                  "Go Forward"                                  "Returns to the next selected panel and tab in recorded history."                                                  ""                               }
  
  //- rjf: panel removal
  {ClosePanel                     0            Null               Nil                0  0  0  0  0  0                                                           ClosePanel            "close_panel"                 "Close Panel"                                 "Closes the currently active panel."                                                                               ""                               }
  
  //- rjf: panel tab
  {NextTab                        0            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "next_tab"                    "Focus Next Tab"                              "Focuses the next tab on the active panel."                                                                        ""                               }
  {PrevTab                        0            Null               Nil                0  0  0  0  0  0                                                           LeftArrow             "prev_tab"                    "Focus Previous Tab"                          "Focuses the previous tab on the active panel."                                                                    ""                               }
  {MoveTabRight                   0            Null               Nil                0  0  0  0  0  0                                                           RightArrow            "move_tab_right"              "Move Tab Right"                              "Moves the selected tab right one slot."                                                                           ""                               }
  {MoveTabLeft                    0            Null               Nil                0  0  0  0  0  0                                                           LeftArrow             "move_tab_left"               "Move Tab Left"                               "Moves the selected tab left one slot."                                                                            ""                               }
  {OpenTab                        1            Null               Nil                0  0  0  0  0  0                                                           Null                  "open_tab"                    "Open Tab"                                    "Opens a new tab with the parameterized view specification."                                                       ""                               }
  {CloseTab                       0            Null               Nil                0  0  0  0  0  0                                                           X                     "close_tab"                   "Close Tab"                                   "Closes the currently opened tab."                                                                                 ""                               }
  {MoveTab                        1            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_tab"                    "Move Tab"                                    "Moves a tab to a new panel."                                                                                      ""                               }
  {TabBarTop                      0            Null               Nil                0  0  0  0  0  0                                                           UpArrow               "tab_bar_top"                 "Anchor Tab Bar To Top"                       "Anchors a panel's tab bar to the top of the panel."                                                               ""                               }
  {TabBarBottom                   0            Null               Nil                0  0  0  0  0  0                                                           DownArrow             "tab_bar_bottom"              "Anchor Tab Bar To Bottom"                    "Anchors a panel's tab bar to the bottom of the panel."                                                            ""                               }
  
  //- rjf: files
  {SetCurrentPath                 1            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "set_current_path"            "Set Current Path"                            "Sets the debugger's current path, which is used as a starting point when browsing for files."                     ""                               }
  {Open                           0            FilePath           Nil                1  0  0  0  0  1                                                           FileOutline           "open"                        "Open"                                        "Opens a file."                                                                                                    "code,source,file"               }
  {Reload                         0            Entity             File               0  0  0  0  0  1                                                           FileOutline           "reload"                      "Reload"                                      "Reloads a loaded file."                                                                                           "code,source,file,reload"        }
  {ReloadActive                   0            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "reload_active"               "Reload Active File"                          "Reloads the active file."                                                                                         "code,source,file,reload"        }
  {Switch                         0            Entity             File               0  0  0  0  0  1                                                           FileOutline           "switch"                      "Switch"                                      "Switches to a loaded file."                                                                                       "code,source,file"               }
  {SwitchToPartnerFile            0            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "switch_to_partner_file"      "Switch To Partner File"                      "Switches to the focused file's partner; or from header to implementation or vice versa."                          "code,source,file"               }
  
  //- rjf: override file links
  {SetFileOverrideLinkSrc         1            Null               Nil                0  0  0  0  0  0                                                           Null                  "set_file_override_link_src"  "Set File Override Link Source"               "Sets the source path for an override file link."                                                                  ""                               }
  {SetFileOverrideLinkDst         1            Null               Nil                0  0  0  0  0  0                                                           Null                  "set_file_override_link_dst"  "Set File Override Link Destination"          "Sets the destination path for an override file link."                                                             ""                               }
  {SetFileReplacementPath         1            Null               Nil                0  0  0  0  0  0                                                           Null                  "set_file_replacement_path"   "Set File Replacement Path"                   "Sets the path which should be used as the replacement for the passed file."                                       ""                               }
  
  //- rjf: auto view rules
  {SetAutoViewRuleType            1            Null               Nil                0  0  0  0  0  0                                                           Null                  "set_auto_view_rule_type"     "Set Auto View Rule Type"                     "Sets the type for an auto view rule."                                                                             ""                               }
  {SetAutoViewRuleViewRule        1            Null               Nil                0  0  0  0  0  0                                                           Null                  "set_auto_view_rule_view_rule""Set Auto View Rule View Rule"                "Sets the view rule string for an auto view rule."                                                                 ""                               }
  
  //- rjf: setting config paths
  {OpenUser                       0            FilePath           Nil                1  0  0  0  0  1                                                           Person                "open_user"                   "Open User"                                   "Opens a user file path, immediately loading it, and begins autosaving to it."                                     "load,user,project,layout"       }
  {OpenProject                    0            FilePath           Nil                1  0  0  0  0  1                                                           Briefcase             "open_project"                "Open Project"                                "Opens a project file path, immediately loading it, and begins autosaving to it."                                  "project,project,session"        }
  {OpenRecentProject              0            Entity             RecentProject      0  0  0  0  0  1                                                           Briefcase             "open_recent_project"         "Open Recent Project"                         "Opens a recently used project file."                                                                              "project,project,session"        }
  
  //- rjf: loading/applying stateful config changes
  {ApplyUserData                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "apply_user_data"             "Apply User Data"                             "Applies user data from the active user file."                                                                     ""                               }
  {ApplyProjectData               1            Null               Nil                0  0  0  0  0  0                                                           Null                  "apply_project_data"          "Apply Project Data"                          "Applies project data from the active project file."                                                               ""                               }
  
  //- rjf: writing config changes
  {WriteUserData                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "write_user_data"             "Write User Data"                             "Writes user data to the active user file."                                                                        ""                               }
  {WriteProjectData               1            Null               Nil                0  0  0  0  0  0                                                           Null                  "write_project_data"          "Write Project Data"                          "Writes project data to the active project file."                                                                  ""                               }
  
  //- rjf: meta controls
  {Edit                           0            Null               Nil                0  0  0  0  0  0                                                           Pencil                "edit"                        "Edit"                                        "Edits the current selection."                                                                                     ""                               }
  {Accept                         0            Null               Nil                0  0  0  0  0  0                                                           CheckFilled           "accept"                      "Accept"                                      "Accepts current changes, or answers prompts in the affirmative."                                                  ""                               }
  {Cancel                         0            Null               Nil                0  0  0  0  0  0                                                           X                     "cancel"                      "Cancel"                                      "Rejects current changes, exits temporary menus, or answers prompts in the negative."                              ""                               }
  
  //- rjf: directional movement & text controls
  {MoveLeft                       0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_left"                   "Move Left"                                   "Moves the cursor or selection left."                                                                              ""                               }
  {MoveRight                      0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_right"                  "Move Right"                                  "Moves the cursor or selection right."                                                                             ""                               }
  {MoveUp                         0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up"                     "Move Up"                                     "Moves the cursor or selection up."                                                                                ""                               }
  {MoveDown                       0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down"                   "Move Down"                                   "Moves the cursor or selection down."                                                                              ""                               }
  {MoveLeftSelect                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_left_select"            "Move Left Select"                            "Moves the cursor or selection left, while selecting."                                                             ""                               }
  {MoveRightSelect                0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_right_select"           "Move Right Select"                           "Moves the cursor or selection right, while selecting."                                                            ""                               }
  {MoveUpSelect                   0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_select"              "Move Up Select"                              "Moves the cursor or selection up, while selecting."                                                               ""                               }
  {MoveDownSelect                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_select"            "Move Down Select"                            "Moves the cursor or selection down, while selecting."                                                             ""                               }
  {MoveLeftChunk                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_left_chunk"             "Move Left Select"                            "Moves the cursor or selection left one chunk."                                                                    ""                               }
  {MoveRightChunk                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_right_chunk"            "Move Right Select"                           "Moves the cursor or selection right one chunk."                                                                   ""                               }
  {MoveUpChunk                    0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_chunk"               "Move Up Chunk"                               "Moves the cursor or selection up one chunk."                                                                      ""                               }
  {MoveDownChunk                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_chunk"             "Move Down Chunk"                             "Moves the cursor or selection down one chunk."                                                                    ""                               }
  {MoveUpPage                     0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_page"                "Move Up Page"                                "Moves the cursor or selection up one page."                                                                       ""                               }
  {MoveDownPage                   0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_page"              "Move Down Page"                              "Moves the cursor or selection down one page."                                                                     ""                               }
  {MoveUpWhole                    0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_whole"               "Move Up Whole"                               "Moves the cursor or selection to the beginning of the relevant content."                                          ""                               }
  {MoveDownWhole                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_whole"             "Move Down Whole"                             "Moves the cursor or selection to the end of the relevant content."                                                ""                               }
  {MoveLeftChunkSelect            0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_left_chunk_select"      "Move Left Chunk Select"                      "Moves the cursor or selection left one chunk."                                                                    ""                               }
  {MoveRightChunkSelect           0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_right_chunk_select"     "Move Right Chunk Select"                     "Moves the cursor or selection right one chunk."                                                                   ""                               }
  {MoveUpChunkSelect              0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_chunk_select"        "Move Up Chunk Select"                        "Moves the cursor or selection up one chunk."                                                                      ""                               }
  {MoveDownChunkSelect            0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_chunk_select"      "Move Down Chunk Select"                      "Moves the cursor or selection down one chunk."                                                                    ""                               }
  {MoveUpPageSelect               0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_page_select"         "Move Up Page Select"                         "Moves the cursor or selection up one page, while selecting."                                                      ""                               }
  {MoveDownPageSelect             0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_page_select"       "Move Down Page Select"                       "Moves the cursor or selection down one page, while selecting."                                                    ""                               }
  {MoveUpWholeSelect              0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_whole_select"        "Move Up Whole Select"                        "Moves the cursor or selection to the beginning of the relevant content, while selecting."                         ""                               }
  {MoveDownWholeSelect            0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_whole_select"      "Move Down Whole Select"                      "Moves the cursor or selection to the end of the relevant content, while selecting."                               ""                               }
  {MoveUpReorder                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_up_reorder"             "Move Up Reorder"                             "Moves the cursor or selection up, while swapping the currently selected element with that upward."                ""                               }
  {MoveDownReorder                0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_down_reorder"           "Move Down Reorder"                           "Moves the cursor or selection down, while swapping the currently selected element with that downward."            ""                               }
  {MoveHome                       0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_home"                   "Move Home"                                   "Moves the cursor to the beginning of the line."                                                                   ""                               }
  {MoveEnd                        0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_end"                    "Move End"                                    "Moves the cursor to the end of the line."                                                                         ""                               }
  {MoveHomeSelect                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_home_select"            "Move Home Select"                            "Moves the cursor to the beginning of the line, while selecting."                                                  ""                               }
  {MoveEndSelect                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "move_end_select"             "Move End Select"                             "Moves the cursor to the end of the line, while selecting."                                                        ""                               }
  {SelectAll                      0            Null               Nil                0  0  0  0  0  0                                                           Null                  "select_all"                  "Select All"                                  "Selects everything possible."                                                                                     ""                               }
  {DeleteSingle                   0            Null               Nil                0  0  0  0  0  0                                                           Null                  "delete_single"               "Delete Single"                               "Deletes a single element to the right of the cursor, or the active selection."                                    ""                               }
  {DeleteChunk                    0            Null               Nil                0  0  0  0  0  0                                                           Null                  "delete_chunk"                "Delete Chunk"                                "Deletes a chunk to the right of the cursor, or the active selection."                                             ""                               }
  {BackspaceSingle                0            Null               Nil                0  0  0  0  0  0                                                           Null                  "backspace_single"            "Backspace Single"                            "Deletes a single element to the left of the cursor, or the active selection."                                     ""                               }
  {BackspaceChunk                 0            Null               Nil                0  0  0  0  0  0                                                           Null                  "backspace_chunk"             "Backspace Chunk"                             "Deletes a chunk to the left of the cursor, or the active selection."                                              ""                               }
  {Copy                           0            Null               Nil                0  0  0  0  0  0                                                           Clipboard             "copy"                        "Copy"                                        "Copies the active selection to the clipboard."                                                                    ""                               }
  {Cut                            0            Null               Nil                0  0  0  0  0  0                                                           Clipboard             "cut"                         "Cut"                                         "Copies the active selection to the clipboard, then deletes it."                                                   ""                               }
  {Paste                          0            Null               Nil                0  0  0  0  0  0                                                           Clipboard             "paste"                       "Paste"                                       "Pastes the current contents of the clipboard."                                                                    ""                               }
  {InsertText                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "insert_text"                 "Insert Text"                                 "Inserts the text that was used to cause this command."                                                            ""                               }
  
  //- rjf: code navigation
  {GoToLine                       0            TextPoint          Nil                0  0  0  0  1  1                                                           Null                  "goto_line"                   "Go To Line"                                  "Jumps to a line number in the current code file."                                                                 ""                               }
  {GoToAddress                    0            VirtualAddr        Nil                0  0  0  0  1  1                                                           Null                  "goto_address"                "Go To Address"                               "Jumps to an address in the current memory or disassembly view."                                                   ""                               }
  {CenterCursor                   0            Null               Nil                0  0  0  0  0  0                                                           Null                  "center_cursor"               "Center Cursor"                               "Snaps the current code view to center the cursor."                                                                ""                               }
  {ContainCursor                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "contain_cursor"              "Contain Cursor"                              "Snaps the current code view to contain the cursor."                                                               ""                               }
  {FindTextForward                0            String             Nil                0  0  1  1  1  1                                                           Find                  "find_text_forward"           "Find Text (Forward)"                         "Searches the current code file forward (from the cursor) for a string."                                           ""                               }
  {FindTextBackward               0            String             Nil                0  0  1  1  1  1                                                           Find                  "find_text_backward"          "Find Text (Backwards)"                       "Searches the current code file backwards (from the cursor) for a string."                                         ""                               }
  {FindNext                       0            Null               Nil                0  0  1  0  0  0                                                           Find                  "find_next"                   "Find Next"                                   "Searches the current code file forward (from the cursor) for the last searched string."                           ""                               }
  {FindPrev                       0            Null               Nil                0  0  1  0  0  0                                                           Find                  "find_prev"                   "Find Previous"                               "Searches the current code file backwards (from the cursor) for the last searched string."                         ""                               }
  
  //- rjf: thread finding
  {FindThread                     0            Entity             Thread             0  0  0  0  0  1                                                           Find                  "find_thread"                 "Find Thread"                                 "Jumps to the passed thread in either source code, disassembly, or both if they're already open."                  ""                               }
  {FindSelectedThread             0            Null               Nil                0  0  0  0  0  0                                                           Find                  "find_selected_thread"        "Find Selected Thread"                        "Jumps to the selected thread in either source code, disassembly, or both if they're already open."                ""                               }
  
  //- rjf: name finding
  {GoToName                       0            String             Nil                0  0  0  0  1  1                                                           Null                  "goto_name"                   "Go To Name"                                  "Searches for the passed string as a file, a symbol in debug info, and more, then jumps to it if possible."        ""                               }
  {GoToNameAtCursor               0            Null               Nil                0  0  0  0  0  0                                                           Null                  "goto_name_at_cursor"         "Go To Name At Cursor"                        "Searches for the text at the cursor as a file, a symbol in debug info, and more, then jumps to it if possible."   ""                               }
  
  //- rjf: watch expressions
  {ToggleWatchExpression          0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "toggle_watch_expr"           "Toggle Watch Expression"                     "Adds or removes an expression to an opened watch view."                                                           ""                               }
  {ToggleWatchExpressionAtCursor  0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "toggle_watch_expr_at_cursor" "Toggle Watch Expression At Cursor"           "Adds or removes the expression that the cursor or selection is currently over to an opened watch view."           ""                               }
  
  //- rjf: memory view parameterization
  {SetColumns                     0            Index              Nil                0  0  0  0  1  1                                                           Thumbnails            "set_columns"                 "Set Columns"                                 "Sets the number of columns for a memory view."                                                                    ""                               }
  
  //- rjf: disassembly view parameterization
  {ToggleAddressVisibility        0            Null               Nil                0  0  0  0  0  0                                                           Thumbnails            "toggle_address_visibility"   "Toggle Address Visibility"                   "Toggles the visibility of addresses in a disassembly view."                                                       ""                               }
  {ToggleCodeBytesVisibility      0            Null               Nil                0  0  0  0  0  0                                                           Thumbnails            "toggle_code_bytes_visibility""Toggle Code Bytes Visibility"                "Toggles the visibility of machine code bytes in a disassembly view."                                              ""                               }
  
  //- rjf: general entity operations
  {EnableEntity                   1            Null               Nil                0  0  0  0  0  0                                                           Null                  "enable_entity"               "Enable Entity"                               "Enables an entity."                                                                                               ""                               }
  {DisableEntity                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "disable_entity"              "Disable Entity"                              "Disables an entity."                                                                                              ""                               }
  {FreezeEntity                   1            Null               Nil                0  0  0  0  0  0                                                           Null                  "freeze_entity"               "Freeze Entity"                               "Freezes an entity."                                                                                               ""                               }
  {ThawEntity                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "thaw_entity"                 "Thaw Entity"                                 "Thaws an entity."                                                                                                 ""                               }
  {RemoveEntity                   1            Null               Nil                0  0  0  0  0  0                                                           Null                  "remove_entity"               "Remove Entity"                               "Removes an entity."                                                                                               ""                               }
  {NameEntity                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "name_entity"                 "Name Entity"                                 "Equips an entity with a name."                                                                                    ""                               }
  {EditEntity                     1            Null               Nil                0  0  0  0  0  0                                                           Null                  "edit_entity"                 "Edit Entity"                                 "Opens the editor for an entity."                                                                                  ""                               }
  {DuplicateEntity                1            Null               Nil                0  0  0  0  0  0                                                           Null                  "duplicate_entity"            "Duplicate Entity"                            "Duplicates an entity."                                                                                            ""                               }
  
  //- rjf: breakpoints
  {TextBreakpoint                 1            FilePath           Nil                0  0  0  0  0  0                                                           CircleFilled          "text_breakpoint"             "Text Breakpoint"                             "Places or removes a breakpoint on the specified line of source code."                                             ""                               }
  {AddressBreakpoint              0            VirtualAddr        Nil                0  0  0  0  1  1                                                           CircleFilled          "address_breakpoint"          "Address Breakpoint"                          "Places or removes a breakpoint on the specified address."                                                         ""                               }
  {FunctionBreakpoint             0            String             Nil                0  0  0  0  1  1                                                           CircleFilled          "function_breakpoint"         "Function Breakpoint"                         "Places or removes a breakpoint on the first address(es) of the specified function."                               ""                               }
  {ToggleBreakpointAtCursor       0            Null               Nil                0  0  0  0  0  0                                                           CircleFilled          "toggle_breakpoint_cursor"    "Toggle Breakpoint At Cursor"                 "Places or removes a breakpoint on the line on which the active cursor sits."                                      ""                               }
  {RemoveBreakpoint               0            Entity             Breakpoint         0  0  0  0  0  1                                                           Trash                 "remove_breakpoint"           "Remove Breakpoint"                           "Removes an existing breakpoint."                                                                                  ""                               }
  {EnableBreakpoint               0            Entity             Breakpoint         0  0  0  0  0  1                                                           CheckFilled           "enable_breakpoint"           "Enable Breakpoint"                           "Enables a breakpoint."                                                                                            ""                               }
  {DisableBreakpoint              0            Entity             Breakpoint         0  0  0  0  0  1                                                           CheckHollow           "disable_breakpoint"          "Disable Breakpoint"                          "Disables a breakpoint."                                                                                           ""                               }
  
  //- rjf: watches
  {ToggleWatchPin                 1            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "toggle_watch_pin"            "Toggle Watch Pin"                            "Places or removes a watch pin on a textual location on a particular entity."                                      ""                               }
  {ToggleWatchPinAtCursor         0            String             Nil                0  0  0  0  1  1                                                           Binoculars            "toggle_watch_pin_at_cursor"  "Toggle Watch Pin At Cursor"                  "Places or removes a watch pin at the cursor on the currently active file."                                        ""                               }
  
  //- rjf: targets
  {AddTarget                      0            FilePath           Nil                1  0  0  0  0  1                                                           Target                "add_target"                  "Add Target"                                  "Adds a new target."                                                                                               "application,executable,debug"   }
  {RemoveTarget                   0            Entity             Target             0  0  0  0  0  1                                                           Trash                 "remove_target"               "Remove Target"                               "Removes an existing target."                                                                                      "delete,remove,target"           }
  {EditTarget                     0            Entity             Target             0  0  0  0  0  1                                                           Pencil                "edit_target"                 "Edit Target"                                 "Edits an existing target."                                                                                        ""                               }
  {SelectTarget                   0            Entity             Target             0  0  0  0  0  1                                                           Target                "select_target"               "Select Target"                               "Selects a target."                                                                                                ""                               }
  {EnableTarget                   0            Entity             Target             0  0  0  0  0  1                                                           CheckFilled           "enable_target"               "Enable Target"                               "Enables a target, in addition to all targets currently enabled."                                                  ""                               }
  {DisableTarget                  0            Entity             Target             0  0  0  0  0  1                                                           CheckHollow           "disable_target"              "Disable Target"                              "Disables a target."                                                                                               ""                               }
  
  //- rjf: ended processes
  {RetryEndedProcess              1            Entity             Process            0  0  0  0  0  0                                                           Null                  "retry_ended_process"         "Retry Ended Process"                         "Launches a new process with the same options as the passed ended process."                                        ""                               }
  
  //- rjf: attaching
  {Attach                         0            ID                 Nil                0  0  0  0  0  1                                                           Null                  "attach"                      "Attach"                                      "Attaches to a process that is already running on the local machine."                                              ""                               }
  {RegisterAsJITDebugger          0            Null               Nil                0  0  0  0  0  0                                                           Null                  "register_as_jit_debugger"    "Register As Just-In-Time (JIT) Debugger"     "Registers the RAD debugger as the just-in-time (JIT) debugger used by the operating system."                      ""                               }
  
  //- rjf: catchall general entity activation paths (drag/drop, clicking)
  {EntityRefFastPath              1            Null               Nil                0  0  0  0  0  0                                                           Null                  "entity_ref_fast_path"        "Entity Reference Fast Path"                  "Activates the default behavior when clicking an entity reference."                                                ""                               }
  {SpawnEntityView                1            Null               Nil                0  0  0  0  0  0                                                           Null                  "spawn_entity_view"           "Spawn Entity View"                           "Spawns a new view, given an entity and other parameterizations."                                                  ""                               }
  {FindCodeLocation               1            FilePath           Nil                0  0  0  0  0  1                                                           FileOutline           "find_code_location"          "Find Code Location"                          "Finds a specific source code location given file, line, and column coordinates. Opens the file if necessary."     ""                               }
  
  //- rjf: general-purpose view filtering
  {Filter                         0            Null               Nil                0  0  0  0  0  0                                                           Find                  "filter"                      "Filter"                                      "Begins filtering the active view."                                                                                "sort,search,filter,find"        }
  {ApplyFilter                    0            Null               Nil                0  0  0  0  0  0                                                           Find                  "apply_filter"                "Apply Filter"                                "Applies the typed filter to the active view."                                                                     "sort,search,filter,find,apply"  }
  {ClearFilter                    0            Null               Nil                0  0  0  0  0  0                                                           Find                  "clear_filter"                "Clear Filter"                                "Clears the filter applied to the active view."                                                                    "sort,search,filter,find,clear"  }
  
  //- rjf: view drivers
  {GettingStarted                 0            Null               Nil                0  0  0  0  0  0                                                           QuestionMark          "getting_started"             "Getting Started"                             "Opens the menu for information on getting started."                                                               "tutorial,help"                  }
  {Commands                       1            Null               Nil                0  0  0  0  0  0                                                           List                  "commands"                    "Commands"                                    "Opens the list of all commands."                                                                                  ""                               }
  {Target                         1            Null               Nil                0  0  0  0  0  0                                                           Target                "target"                      "Target"                                      "Opens the editor for a target."                                                                                   ""                               }
  {Targets                        0            Null               Nil                0  0  0  0  0  0                                                           Target                "targets"                     "Targets"                                     "Opens the list of all targets."                                                                                   ""                               }
  {FilePathMap                    0            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "file_path_map"               "File Path Map"                               "Opens the file path mapping editor."                                                                              ""                               }
  {AutoViewRules                  0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "auto_view_rules"             "Auto View Rules"                             "Opens the auto view rule editor."                                                                                 ""                               }
  {Scheduler                      0            Null               Nil                0  0  0  0  0  0                                                           Scheduler             "scheduler"                   "Scheduler"                                   "Opens the scheduler view, for process and thread controls."                                                       "threads,processes,targets"      }
  {CallStack                      0            Null               Nil                0  0  0  0  0  0                                                           Thread                "call_stack"                  "Call Stack"                                  "Opens the call stack view."                                                                                       "callstack,thread"               }
  {Modules                        0            Null               Nil                0  0  0  0  0  0                                                           Module                "modules"                     "Modules"                                     "Opens the modules view."                                                                                          ""                               }
  {PendingEntity                  1            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "pending_entity"              "Pending Entity"                              "Opens a view which waits for the passed entity to be completely loaded, then replaces itself with a new view."    ""                               }
  {Code                           1            Null               Nil                0  0  0  0  0  0                                                           FileOutline           "code"                        "Code"                                        "Opens the code view for an already-loaded file."                                                                  ""                               }
  {Watch                          0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "watch"                       "Watch"                                       "Opens a watch view."                                                                                              ""                               }
  {Locals                         0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "locals"                      "Locals"                                      "Opens a locals view."                                                                                             ""                               }
  {Registers                      0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "registers"                   "Registers"                                   "Opens a registers view."                                                                                          ""                               }
  {Globals                        0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "globals"                     "Globals"                                     "Opens a globals view."                                                                                            ""                               }
  {ThreadLocals                   0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "thread_locals"               "Thread Locals"                               "Opens a thread locals view."                                                                                      ""                               }
  {Types                          0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "types"                       "Types"                                       "Opens a types view."                                                                                              ""                               }
  {Procedures                     0            Null               Nil                0  0  0  0  0  0                                                           Binoculars            "procedures"                  "Procedures"                                  "Opens a procedures view."                                                                                         ""                               }
  {Output                         0            Null               Nil                0  0  0  0  0  0                                                           List                  "output"                      "Output"                                      "Opens an output view."                                                                                            ""                               }
  {Memory                         0            Null               Nil                0  0  0  0  0  0                                                           Grid                  "memory"                      "Memory"                                      "Opens a memory view."                                                                                             ""                               }
  {Disassembly                    0            Null               Nil                0  0  0  0  0  0                                                           Glasses               "disassembly"                 "Disassembly"                                 "Opens the disassembly view."                                                                                      "disasm"                         }
  {Breakpoints                    0            Null               Nil                0  0  0  0  0  0                                                           CircleFilled          "breakpoints"                 "Breakpoints"                                 "Opens the breakpoints view."                                                                                      ""                               }
  {WatchPins                      0            Null               Nil                0  0  0  0  0  0                                                           Pin                   "watch_pins"                  "Watch Pins"                                  "Opens the watch pins view."                                                                                       ""                               }
  {ExceptionFilters               0            Null               Nil                0  0  0  0  0  0                                                           Gear                  "exception_filters"           "Exception Filters"                           "Opens the exception filters view."                                                                                "exceptions,filters"             }
  {Theme                          0            Null               Nil                0  0  0  0  0  0                                                           Palette               "theme"                       "Theme"                                       "Opens the theme view."                                                                                            "theme,color,scheme,palette"     }
  {PickFile                       1            FilePath           Nil                1  0  0  0  0  1                                                           FileOutline           "pick_file"                   "Pick File"                                   "Opens the file browser to pick a file."                                                                           ""                               }
  {PickFolder                     1            FilePath           Nil                0  1  0  0  0  1                                                           FolderOpenFilled      "pick_folder"                 "Pick Folder"                                 "Opens the file browser to pick a folder."                                                                         ""                               }
  {PickFileOrFolder               1            FilePath           Nil                1  1  0  0  0  1                                                           FileOutline           "pick_file_or_folder"         "Pick File/Folder"                            "Opens the file browser to pick a file or folder."                                                                 ""                               }
  
  //- rjf: query completion
  {CompleteQuery                  1            Null               Nil                0  0  0  0  0  0                                                           Null                  "complete_query"              "Complete Query"                              "Completes a query."                                                                                               ""                               }
  {CancelQuery                    1            Null               Nil                0  0  0  0  0  0                                                           Null                  "cancel_query"                "Cancel Query"                                "Cancels a query."                                                                                                 ""                               }
  
  //- rjf: developer commands
  {ToggleDevMenu                  0            Null               Nil                0  0  0  0  0  0                                                           Null                  "toggle_dev_menu"             "Toggle Developer Menu"                       "Opens and closes the developer menu."                                                                             ""                               }
}

////////////////////////////////
//~ rjf: Built-In View Rules
//
// @view_rule_info
//
// NOTE(rjf): View rules are subtle in that they may impact any subset of the
// eval visualization pipeline. The "array" view rule, for example, functions
// by tweaking the type of an eval from `X *` to `X (*)[N]` (where N is
// computed from whatever expression is specified by the view rule). The "list"
// view rule, on the other hand, does not require any changes to the actual
// eval nor its type - instead, it follows an alternative path in constructing
// "viz blocks", and then constructing "viz rows" from those blocks. Compare
// these to the simpler 'dec', 'bin', or 'oct' rules, which simply tweak the
// radix used when stringizing numbers, which is something that only occurs in
// single-line eval stringization building.
//
// As such, each view rule specification has a mask, which determines which
// stages it may be used for. For a given view rule specification, if the bit
// corresponding to a particular eval stage is set, then that view rule spec-
// -ification also includes a hook which can be called from that stage.
//
// Below is a list of the stages in the eval visualization pipeline, as well as
// abbreviations which are used in the tables.
//
// eval resolution, "er" -> provides a chance for a view rule to impact an eval
//                          value or type, before the rest of the eval visual
//                          pipeline continues.
//
// viz block prod, "vb"  -> given a resolved eval, produce a list of non-
//                          windowed "viz blocks", which correspond to one or
//                          many contiguous rows in a watch-window-style UI.
//                          one level of expanded struct members, with no sub-
//                          expansions, would be one viz block. if one of those
//                          members - in the middle - were expanded too, then
//                          it would require three viz blocks - one for the
//                          members before the sub-expansion, one for the
//                          sub expansion members, and one for the members
//                          after, and so on. this is done recursively.
//
// viz row prod, "vr"    -> given a list of viz blocks, a windowed list of viz
//                          rows may be produced. each of these rows has info
//                          for building actual UI in e.g. a watch window -
//                          whether or not the row can be expanded, whether or
//                          not the row's value can be edited, what the edit-
//                          able string is for a row, what the display string
//                          is for a row, what the expression string is for a
//                          row, what the type is for a row, and so on.
//                          
// line stringize, "ls"  -> this is the stage used to produce display strings
//                          in the "viz row prod" stage, as well as basically
//                          any time UI needs to display the result of an eval
//                          in a single line. this also occurs recursively,
//                          descending into members & elements as needed,
//                          constrained by # of available pixels and font size
//                          and so on.
//
// row ui build, "ru"    -> finally, after the previous stages are completed,
//                          ui can finally be built according to all of the
//                          per-row information produced. this is the stage
//                          where view rules can insert their own arbitrary ui
//                          on a per-row basis.
//
// block ui build, "bu"  -> sometimes, view rules want to take over an entire
//                          viz block. while those viz blocks will still be
//                          used to size a collapsed region in terms of #-of-
//                          rows, this stage offers the ability to build a ui
//                          stretching over all of the rows.
//
// tab ui build, "tu"    -> when a view rule also wants to implement ui for a
//                          dedicated tab, it can supply hooks for that as well
//                          in which case an eval/view-rule can be opened in a
//                          fully fledged, dedicated ui
//
// A few other bits are included for various ways in which a view rule may be
// applied throughout the eval visualization pipeline. A list follows:
//
// inherited, "ih"       -> is this view rule included, or not included, in
//                          child expansions?
//
// expandable, "ex"      -> does this view rule force the ability to expand
//                          an expression, even if traditional analysis of type
//                          info would not allow expansion?
//
// Not all of these stages are specified at this layer, however, since the
// "df_core" layer is for the non-graphical core debugger features. So the
// information pertaining to the eval visualization pipeline stages which
// do require graphical subsystems (e.g. UI, fonts, rendering) are specified
// in the "df_gfx" layer.
//
// For any view rules in this layer which also have graphical features, they
// are specified in both tables under the same name.

@table(name  name_lower  string          ih  ex  er  vb                display_name                  docs    schema                                                         description)
DF_CoreViewRuleTable:
{
  {Null       null        ""              -   -   -   -                 ""                            -       ""                                                             ""                                                                                                                                                                           }
  {Array      array       "array"         -   -   x   -                 "Array"                       x       "x:{expr}"                                                     "Specifies that a pointer points to N elements, rather than only 1."                                                                                                         }
  {List       list        "list"          -   -   -   x                 "List"                        x       "x:{member}"                                                   "Specifies that some struct, union, or class forms the top of a linked list, and the member which points at the following element in the list."                              }
  {ByteSwap   bswap       "bswap"         x   -   x   -                 "Byte Swap"                   x       ""                                                             "Specifies that all integer primitives should be byte-swapped, such that their endianness is reversed."                                                                      }
  {BaseDec    base_dec    "dec"           x   -   -   -                 "Decimal Base (Base 10)"      x       ""                                                             "Specifies that all integral evaluations should appear in base-10 form."                                                                                                     }
  {BaseBin    base_bin    "bin"           x   -   -   -                 "Binary Base (Base 2)"        x       ""                                                             "Specifies that all integral evaluations should appear in base-2 form."                                                                                                      }
  {BaseOct    base_oct    "oct"           x   -   -   -                 "Octal Base (Base 8)"         x       ""                                                             "Specifies that all integral evaluations should appear in base-8 form."                                                                                                      }
  {BaseHex    base_hex    "hex"           x   -   -   -                 "Hexadecimal Base (Base 16)"  x       ""                                                             "Specifies that all integral evaluations should appear in base-16 form."                                                                                                     }
  {Only       only        "only"          x   -   -   x                 "Only Specified Members"      x       "x:{member}"                                                   "Specifies that only the specified members should appear in struct, union, or class evaluations."                                                                            }
  {Omit       omit        "omit"          x   -   -   x                 "Omit Specified Members"      x       "x:{member}"                                                   "Omits a list of member names from appearing in struct, union, or class evaluations."                                                                                        }
  {NoAddr     no_addr     "no_addr"       x   -   -   -                 "Disable Address Values"      x       ""                                                             "Displays only what pointers point to, if possible, without the pointer's address value."                                                                                    }
  {RGBA       rgba        "rgba"          -   x   -   x                 "Color (RGBA)"                x       ""                                                             "Displays as a color, interpreting the data as encoding R, G, B, and A values."                                                                                              }
  {Text       text        "text"          -   x   -   x                 "Text"                        x       "x:{'lang':lang, 'size':expr}"                                 "Displays as text."                                                                                                                                                          }
  {Disasm     disasm      "disasm"        -   x   -   x                 "Disassembly"                 x       "x:{'arch':arch, 'size':expr}"                                 "Displays as disassembled instructions, interpreting the data as raw machine code."                                                                                          }
  {Graph      graph       "graph"         -   x   -   x                 "Graph"                       x       ""                                                             "Displays as a pointer graph, visualizing nodes and edges formed by pointers directly."                                                                                      }
  {Bitmap     bitmap      "bitmap"        -   x   -   x                 "Bitmap"                      x       "x:{'w':expr, 'h':expr, 'fmt':tex2dformat}"                    "Displays as a bitmap, interpreting the data as raw pixel data."                                                                                                             }
  {Geo        geo         "geo"           -   x   -   x                 "Geometry"                    x       "x:{'count':expr, 'vertices_base':expr, 'vertices_size':expr}" "Displays as geometry, interpreting the data as vertex data."                                                                                                                }
}

////////////////////////////////
//~ rjf: Icons (TODO(rjf): this needs to move to the df_gfx graphical layer)

@table(name, text)
DF_IconTable:
{
  (Null                     "")
  (FolderOpenOutline        "b")
  (FolderClosedOutline      "c")
  (FolderOpenFilled         "B")
  (FolderClosedFilled       "C")
  (FileOutline              "f")
  (FileFilled               "F")
  (Play                     "g")
  (PlayStepForward          "h")
  (Pause                    "r")
  (Stop                     "s")
  (Info                     "i")
  (WarningSmall             "w")
  (WarningBig               "W")
  (Unlocked                 "k")
  (Locked                   "K")
  (LeftArrow                "L")
  (RightArrow               "R")
  (UpArrow                  "U")
  (DownArrow                "D")
  (Gear                     "G")
  (Pencil                   "P")
  (Trash                    "3")
  (Pin                      "p")
  (RadioHollow              "O")
  (RadioFilled              "o")
  (CheckHollow              "!")
  (CheckFilled              "1")
  (LeftCaret                "<")
  (RightCaret               ">")
  (UpCaret                  "^")
  (DownCaret                "v")
  (UpScroll                 "9")
  (DownScroll               "0")
  (LeftScroll               "7")
  (RightScroll              "8")
  (Add                      "+")
  (Minus                    "-")
  (Thread                   "'")
  (Threads                  '\\"')
  (Machine                  "M")
  (CircleFilled             ".")
  (X                        "x")
  (Refresh                  "q")
  (Undo                     "j")
  (Redo                     "u")
  (Save                     "m")
  (Window                   "n")
  (Target                   "l")
  (Clipboard                "a")
  (Scheduler                "z")
  (Module                   "y")
  (XSplit                   "X")
  (YSplit                   "Y")
  (ClosePanel               "S")
  (StepInto                 "T")
  (StepOver                 "Z")
  (StepOut                  "d")
  (Find                     "N")
  (Palette                  "E")
  (Thumbnails               "H")
  (Glasses                  "e")
  (Binoculars               "I")
  (List                     "J")
  (Grid                     "A")
  (QuestionMark             "?")
  (Person                   "4")
  (Briefcase                "5")
  (Dot                      "c")
}

////////////////////////////////
//~ rjf: X64 Instruction Table

@table(name summary)
DF_InstTableX64:
{
  
  //- rjf: core
  {AAA                       "ASCII Adjust After Addition"                                                                                           }
  {AAD                       "ASCII Adjust AX Before Division"                                                                                       }
  {AAM                       "ASCII Adjust AX After Multiply"                                                                                        }
  {AAS                       "ASCII Adjust AL After Subtraction"                                                                                     }
  {ADC                       "Add with Carry"                                                                                                        }
  {ADCX                      "Unsigned Integer Addition of Two Operands with Carry Flag"                                                             }
  {ADD                       "Add"                                                                                                                   }
  {ADDPD                     "Add Packed Double-Precision Floating-Point Values"                                                                     }
  {ADDPS                     "Add Packed Single-Precision Floating-Point Values"                                                                     }
  {ADDSD                     "Add Scalar Double-Precision Floating-Point Values"                                                                     }
  {ADDSS                     "Add Scalar Single-Precision Floating-Point Values"                                                                     }
  {ADDSUBPD                  "Packed Double-FP Add/Subtract"                                                                                         }
  {ADDSUBPS                  "Packed Single-FP Add/Subtract"                                                                                         }
  {ADOX                      "Unsigned Integer Addition of Two Operands with Overflow Flag"                                                          }
  {AESDEC                    "Perform One Round of an AES Decryption Flow"                                                                           }
  {AESDEC128KL               "Perform Ten Rounds of AES Decryption Flow with Key Locker Using 128-Bit Key"                                           }
  {AESDEC256KL               "Perform 14 Rounds of AES Decryption Flow with Key Locker Using 256-Bit Key"                                            }
  {AESDECLAST                "Perform Last Round of an AES Decryption Flow"                                                                          }
  {AESDECWIDE128KL           "Perform Ten Rounds of AES Decryption Flow with Key Locker on 8 Blocks Using 128-Bit Key"                               }
  {AESDECWIDE256KL           "Perform 14 Rounds of AES Decryption Flow with Key Locker on 8 Blocks Using 256-Bit Key"                                }
  {AESENC                    "Perform One Round of an AES Encryption Flow"                                                                           }
  {AESENC128KL               "Perform Ten Rounds of AES Encryption Flow with Key Locker Using 128-Bit Key"                                           }
  {AESENC256KL               "Perform 14 Rounds of AES Encryption Flow with Key Locker Using 256-Bit Key"                                            }
  {AESENCLAST                "Perform Last Round of an AES Encryption Flow"                                                                          }
  {AESENCWIDE128KL           "Perform Ten Rounds of AES Encryption Flow with Key Locker on 8 Blocks Using 128-Bit Key"                               }
  {AESENCWIDE256KL           "Perform 14 Rounds of AES Encryption Flow with Key Locker on 8 Blocks Using 256-Bit Key"                                }
  {AESIMC                    "Perform the AES InvMixColumn Transformation"                                                                           }
  {AESKEYGENASSIST           "AES Round Key Generation Assist"                                                                                       }
  {AND                       "Logical AND"                                                                                                           }
  {ANDN                      "Logical AND NOT"                                                                                                       }
  {ANDNPD                    "Bitwise Logical AND NOT of Packed Double Precision Floating-Point Values"                                              }
  {ANDNPS                    "Bitwise Logical AND NOT of Packed Single Precision Floating-Point Values"                                              }
  {ANDPD                     "Bitwise Logical AND of Packed Double Precision Floating-Point Values"                                                  }
  {ANDPS                     "Bitwise Logical AND of Packed Single Precision Floating-Point Values"                                                  }
  {ARPL                      "Adjust RPL Field of Segment Selector"                                                                                  }
  {BEXTR                     "Bit Field Extract"                                                                                                     }
  {BLENDPD                   "Blend Packed Double Precision Floating-Point Values"                                                                   }
  {BLENDPS                   "Blend Packed Single Precision Floating-Point Values"                                                                   }
  {BLENDVPD                  "Variable Blend Packed Double Precision Floating-Point Values"                                                          }
  {BLENDVPS                  "Variable Blend Packed Single Precision Floating-Point Values"                                                          }
  {BLSI                      "Extract Lowest Set Isolated Bit"                                                                                       }
  {BLSMSK                    "Get Mask Up to Lowest Set Bit"                                                                                         }
  {BLSR                      "Reset Lowest Set Bit"                                                                                                  }
  {BNDCL                     "Check Lower Bound"                                                                                                     }
  {BNDCN                     "Check Upper Bound"                                                                                                     }
  {BNDCU                     "Check Upper Bound"                                                                                                     }
  {BNDLDX                    "Load Extended Bounds Using Address Translation"                                                                        }
  {BNDMK                     "Make Bounds"                                                                                                           }
  {BNDMOV                    "Move Bounds"                                                                                                           }
  {BNDSTX                    "Store Extended Bounds Using Address Translation"                                                                       }
  {BOUND                     "Check Array Index Against Bounds"                                                                                      }
  {BSF                       "Bit Scan Forward"                                                                                                      }
  {BSR                       "Bit Scan Reverse"                                                                                                      }
  {BSWAP                     "Byte Swap"                                                                                                             }
  {BT                        "Bit Test"                                                                                                              }
  {BTC                       "Bit Test and Complement"                                                                                               }
  {BTR                       "Bit Test and Reset"                                                                                                    }
  {BTS                       "Bit Test and Set"                                                                                                      }
  {BZHI                      "Zero High Bits Starting with Specified Bit Position"                                                                   }
  {CALL                      "Call Procedure"                                                                                                        }
  {CBW                       "Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword"                                        }
  {CDQ                       "Convert Word to Doubleword/Convert Doubleword to Quadword"                                                             }
  {CDQE                      "Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword"                                        }
  {CLAC                      "Clear AC Flag in EFLAGS Register"                                                                                      }
  {CLC                       "Clear Carry Flag"                                                                                                      }
  {CLD                       "Clear Direction Flag"                                                                                                  }
  {CLDEMOTE                  "Cache Line Demote"                                                                                                     }
  {CLFLUSH                   "Flush Cache Line"                                                                                                      }
  {CLFLUSHOPT                "Flush Cache Line Optimized"                                                                                            }
  {CLI                       "Clear Interrupt Flag"                                                                                                  }
  {CLRSSBSY                  "Clear Busy Flag in a Supervisor Shadow Stack Token"                                                                    }
  {CLTS                      "Clear Task-Switched Flag in CR0"                                                                                       }
  {CLWB                      "Cache Line Write Back"                                                                                                 }
  {CMC                       "Complement Carry Flag"                                                                                                 }
  {CMOVcc                    "Conditional Move"                                                                                                      }
  {CMP                       "Compare Two Operands"                                                                                                  }
  {CMPPD                     "Compare Packed Double-Precision Floating-Point Values"                                                                 }
  {CMPPS                     "Compare Packed Single-Precision Floating-Point Values"                                                                 }
  {CMPS                      "Compare String Operands"                                                                                               }
  {CMPSB                     "Compare String Operands"                                                                                               }
  {CMPSD                     "Compare String Operands"                                                                                               }
  {CMPSQ                     "Compare String Operands"                                                                                               }
  {CMPSS                     "Compare Scalar Single-Precision Floating-Point Value"                                                                  }
  {CMPSW                     "Compare String Operands"                                                                                               }
  {CMPXCHG                   "Compare and Exchange"                                                                                                  }
  {CMPXCHG16B                "Compare and Exchange Bytes"                                                                                            }
  {CMPXCHG8B                 "Compare and Exchange Bytes"                                                                                            }
  {COMISD                    "Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGS"                                          }
  {COMISS                    "Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGS"                                          }
  {CPUID                     "CPU Identification"                                                                                                    }
  {CQO                       "Convert Word to Doubleword/Convert Doubleword to Quadword"                                                             }
  {CRC32                     "Accumulate CRC32 Value"                                                                                                }
  {CVTDQ2PD                  "Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values"                                   }
  {CVTDQ2PS                  "Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values"                                   }
  {CVTPD2DQ                  "Convert Packed Double-Precision Floating-Point Values to Packed Doubleword Integers"                                   }
  {CVTPD2PI                  "Convert Packed Double-Precision FP Values to Packed Dword Integers"                                                    }
  {CVTPD2PS                  "Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point Values"                }
  {CVTPI2PD                  "Convert Packed Dword Integers to Packed Double-Precision FP Values"                                                    }
  {CVTPI2PS                  "Convert Packed Dword Integers to Packed Single-Precision FP Values"                                                    }
  {CVTPS2DQ                  "Convert Packed Single-Precision Floating-Point Values to Packed Signed Doubleword Integer Values"                      }
  {CVTPS2PD                  "Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point Values"                }
  {CVTPS2PI                  "Convert Packed Single-Precision FP Values to Packed Dword Integers"                                                    }
  {CVTSD2SI                  "Convert Scalar Double-Precision Floating-Point Value to Doubleword Integer"                                            }
  {CVTSD2SS                  "Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Precision Floating-Point Value"                  }
  {CVTSI2SD                  "Convert Doubleword Integer to Scalar Double-Precision Floating-Point Value"                                            }
  {CVTSI2SS                  "Convert Doubleword Integer to Scalar Single-Precision Floating-Point Value"                                            }
  {CVTSS2SD                  "Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Precision Floating-Point Value"                  }
  {CVTSS2SI                  "Convert Scalar Single-Precision Floating-Point Value to Doubleword Integer"                                            }
  {CVTTPD2DQ                 "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Integers"                   }
  {CVTTPD2PI                 "Convert with Truncation Packed Double-Precision FP Values to Packed Dword Integers"                                    }
  {CVTTPS2DQ                 "Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Signed Doubleword Integer Values"      }
  {CVTTPS2PI                 "Convert with Truncation Packed Single-Precision FP Values to Packed Dword Integers"                                    }
  {CVTTSD2SI                 "Convert with Truncation Scalar Double-Precision Floating-Point Value to Signed Integer"                                }
  {CVTTSS2SI                 "Convert with Truncation Scalar Single-Precision Floating-Point Value to Integer"                                       }
  {CWD                       "Convert Word to Doubleword/Convert Doubleword to Quadword"                                                             }
  {CWDE                      "Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword"                                        }
  {DAA                       "Decimal Adjust AL after Addition"                                                                                      }
  {DAS                       "Decimal Adjust AL after Subtraction"                                                                                   }
  {DEC                       "Decrement by 1"                                                                                                        }
  {DIV                       "Unsigned Divide"                                                                                                       }
  {DIVPD                     "Divide Packed Double-Precision Floating-Point Values"                                                                  }
  {DIVPS                     "Divide Packed Single-Precision Floating-Point Values"                                                                  }
  {DIVSD                     "Divide Scalar Double-Precision Floating-Point Value"                                                                   }
  {DIVSS                     "Divide Scalar Single-Precision Floating-Point Values"                                                                  }
  {DPPD                      "Dot Product of Packed Double Precision Floating-Point Values"                                                          }
  {DPPS                      "Dot Product of Packed Single Precision Floating-Point Values"                                                          }
  {EMMS                      "Empty MMX Technology State"                                                                                            }
  {ENCODEKEY128              "Encode 128-Bit Key with Key Locker"                                                                                    }
  {ENCODEKEY256              "Encode 256-Bit Key with Key Locker"                                                                                    }
  {ENDBR32                   "Terminate an Indirect Branch in 32-bit and Compatibility Mode"                                                         }
  {ENDBR64                   "Terminate an Indirect Branch in 64-bit Mode"                                                                           }
  {ENTER                     "Make Stack Frame for Procedure Parameters"                                                                             }
  {EXTRACTPS                 "Extract Packed Floating-Point Values"                                                                                  }
  {F2XM1                     "Compute 2x–1"                                                                                                          }
  {FABS                      "Absolute Value"                                                                                                        }
  {FADD                      "Add"                                                                                                                   }
  {FADDP                     "Add"                                                                                                                   }
  {FBLD                      "Load Binary Coded Decimal"                                                                                             }
  {FBSTP                     "Store BCD Integer and Pop"                                                                                             }
  {FCHS                      "Change Sign"                                                                                                           }
  {FCLEX                     "Clear Exceptions"                                                                                                      }
  {FCMOVcc                   "Floating-Point Conditional Move"                                                                                       }
  {FCOM                      "Compare Floating Point Values"                                                                                         }
  {FCOMI                     "Compare Floating Point Values and Set EFLAGS"                                                                          }
  {FCOMIP                    "Compare Floating Point Values and Set EFLAGS"                                                                          }
  {FCOMP                     "Compare Floating Point Values"                                                                                         }
  {FCOMPP                    "Compare Floating Point Values"                                                                                         }
  {FCOS                      "Cosine"                                                                                                                }
  {FDECSTP                   "Decrement Stack-Top Pointer"                                                                                           }
  {FDIV                      "Divide"                                                                                                                }
  {FDIVP                     "Divide"                                                                                                                }
  {FDIVR                     "Reverse Divide"                                                                                                        }
  {FDIVRP                    "Reverse Divide"                                                                                                        }
  {FFREE                     "Free Floating-Point Register"                                                                                          }
  {FIADD                     "Add"                                                                                                                   }
  {FICOM                     "Compare Integer"                                                                                                       }
  {FICOMP                    "Compare Integer"                                                                                                       }
  {FIDIV                     "Divide"                                                                                                                }
  {FIDIVR                    "Reverse Divide"                                                                                                        }
  {FILD                      "Load Integer"                                                                                                          }
  {FIMUL                     "Multiply"                                                                                                              }
  {FINCSTP                   "Increment Stack-Top Pointer"                                                                                           }
  {FINIT                     "Initialize Floating-Point Unit"                                                                                        }
  {FIST                      "Store Integer"                                                                                                         }
  {FISTP                     "Store Integer"                                                                                                         }
  {FISTTP                    "Store Integer with Truncation"                                                                                         }
  {FISUB                     "Subtract"                                                                                                              }
  {FISUBR                    "Reverse Subtract"                                                                                                      }
  {FLD                       "Load Floating Point Value"                                                                                             }
  {FLD1                      "Load Constant"                                                                                                         }
  {FLDCW                     "Load x87 FPU Control Word"                                                                                             }
  {FLDENV                    "Load x87 FPU Environment"                                                                                              }
  {FLDL2E                    "Load Constant"                                                                                                         }
  {FLDL2T                    "Load Constant"                                                                                                         }
  {FLDLG2                    "Load Constant"                                                                                                         }
  {FLDLN2                    "Load Constant"                                                                                                         }
  {FLDPI                     "Load Constant"                                                                                                         }
  {FLDZ                      "Load Constant"                                                                                                         }
  {FMUL                      "Multiply"                                                                                                              }
  {FMULP                     "Multiply"                                                                                                              }
  {FNCLEX                    "Clear Exceptions"                                                                                                      }
  {FNINIT                    "Initialize Floating-Point Unit"                                                                                        }
  {FNOP                      "No Operation"                                                                                                          }
  {FNSAVE                    "Store x87 FPU State"                                                                                                   }
  {FNSTCW                    "Store x87 FPU Control Word"                                                                                            }
  {FNSTENV                   "Store x87 FPU Environment"                                                                                             }
  {FNSTSW                    "Store x87 FPU Status Word"                                                                                             }
  {FPATAN                    "Partial Arctangent"                                                                                                    }
  {FPREM                     "Partial Remainder"                                                                                                     }
  {FPREM1                    "Partial Remainder"                                                                                                     }
  {FPTAN                     "Partial Tangent"                                                                                                       }
  {FRNDINT                   "Round to Integer"                                                                                                      }
  {FRSTOR                    "Restore x87 FPU State"                                                                                                 }
  {FSAVE                     "Store x87 FPU State"                                                                                                   }
  {FSCALE                    "Scale"                                                                                                                 }
  {FSIN                      "Sine"                                                                                                                  }
  {FSINCOS                   "Sine and Cosine"                                                                                                       }
  {FSQRT                     "Square Root"                                                                                                           }
  {FST                       "Store Floating Point Value"                                                                                            }
  {FSTCW                     "Store x87 FPU Control Word"                                                                                            }
  {FSTENV                    "Store x87 FPU Environment"                                                                                             }
  {FSTP                      "Store Floating Point Value"                                                                                            }
  {FSTSW                     "Store x87 FPU Status Word"                                                                                             }
  {FSUB                      "Subtract"                                                                                                              }
  {FSUBP                     "Subtract"                                                                                                              }
  {FSUBR                     "Reverse Subtract"                                                                                                      }
  {FSUBRP                    "Reverse Subtract"                                                                                                      }
  {FTST                      "TEST"                                                                                                                  }
  {FUCOM                     "Unordered Compare Floating Point Values"                                                                               }
  {FUCOMI                    "Compare Floating Point Values and Set EFLAGS"                                                                          }
  {FUCOMIP                   "Compare Floating Point Values and Set EFLAGS"                                                                          }
  {FUCOMP                    "Unordered Compare Floating Point Values"                                                                               }
  {FUCOMPP                   "Unordered Compare Floating Point Values"                                                                               }
  {FWAIT                     "Wait"                                                                                                                  }
  {FXAM                      "Examine Floating-Point"                                                                                                }
  {FXCH                      "Exchange Register Contents"                                                                                            }
  {FXRSTOR                   "Restore x87 FPU, MMX, XMM, and MXCSR State"                                                                            }
  {FXSAVE                    "Save x87 FPU, MMX Technology, and SSE State"                                                                           }
  {FXTRACT                   "Extract Exponent and Significand"                                                                                      }
  {FYL2X                     "Compute y * log2x"                                                                                                     }
  {FYL2XP1                   "Compute y * log2(x +1)"                                                                                                }
  {GF2P8AFFINEINVQB          "Galois Field Affine Transformation Inverse"                                                                            }
  {GF2P8AFFINEQB             "Galois Field Affine Transformation"                                                                                    }
  {GF2P8MULB                 "Galois Field Multiply Bytes"                                                                                           }
  {HADDPD                    "Packed Double-FP Horizontal Add"                                                                                       }
  {HADDPS                    "Packed Single-FP Horizontal Add"                                                                                       }
  {HLT                       "Halt"                                                                                                                  }
  {HRESET                    "History Reset"                                                                                                         }
  {HSUBPD                    "Packed Double-FP Horizontal Subtract"                                                                                  }
  {HSUBPS                    "Packed Single-FP Horizontal Subtract"                                                                                  }
  {IDIV                      "Signed Divide"                                                                                                         }
  {IMUL                      "Signed Multiply"                                                                                                       }
  {IN                        "Input from Port"                                                                                                       }
  {INC                       "Increment by 1"                                                                                                        }
  {INCSSPD                   "Increment Shadow Stack Pointer"                                                                                        }
  {INCSSPQ                   "Increment Shadow Stack Pointer"                                                                                        }
  {INS                       "Input from Port to String"                                                                                             }
  {INSB                      "Input from Port to String"                                                                                             }
  {INSD                      "Input from Port to String"                                                                                             }
  {INSERTPS                  "Insert Scalar Single-Precision Floating-Point Value"                                                                   }
  {INSW                      "Input from Port to String"                                                                                             }
  {INT                       "Call to Interrupt Procedure"                                                                                           }
  {INT1                      "Call to Interrupt Procedure"                                                                                           }
  {INT3                      "Call to Interrupt Procedure"                                                                                           }
  {INTO                      "Call to Interrupt Procedure"                                                                                           }
  {INVD                      "Invalidate Internal Caches"                                                                                            }
  {INVLPG                    "Invalidate TLB Entries"                                                                                                }
  {INVPCID                   "Invalidate Process-Context Identifier"                                                                                 }
  {IRET                      "Interrupt Return"                                                                                                      }
  {IRETD                     "Interrupt Return"                                                                                                      }
  {IRETQ                     "Interrupt Return"                                                                                                      }
  {JMP                       "Jump"                                                                                                                  }
  {Jcc                       "Jump if Condition Is Met"                                                                                              }
  {KADDB                     "ADD Two Masks"                                                                                                         }
  {KADDD                     "ADD Two Masks"                                                                                                         }
  {KADDQ                     "ADD Two Masks"                                                                                                         }
  {KADDW                     "ADD Two Masks"                                                                                                         }
  {KANDB                     "Bitwise Logical AND Masks"                                                                                             }
  {KANDD                     "Bitwise Logical AND Masks"                                                                                             }
  {KANDNB                    "Bitwise Logical AND NOT Masks"                                                                                         }
  {KANDND                    "Bitwise Logical AND NOT Masks"                                                                                         }
  {KANDNQ                    "Bitwise Logical AND NOT Masks"                                                                                         }
  {KANDNW                    "Bitwise Logical AND NOT Masks"                                                                                         }
  {KANDQ                     "Bitwise Logical AND Masks"                                                                                             }
  {KANDW                     "Bitwise Logical AND Masks"                                                                                             }
  {KMOVB                     "Move from and to Mask Registers"                                                                                       }
  {KMOVD                     "Move from and to Mask Registers"                                                                                       }
  {KMOVQ                     "Move from and to Mask Registers"                                                                                       }
  {KMOVW                     "Move from and to Mask Registers"                                                                                       }
  {KNOTB                     "NOT Mask Register"                                                                                                     }
  {KNOTD                     "NOT Mask Register"                                                                                                     }
  {KNOTQ                     "NOT Mask Register"                                                                                                     }
  {KNOTW                     "NOT Mask Register"                                                                                                     }
  {KORB                      "Bitwise Logical OR Masks"                                                                                              }
  {KORD                      "Bitwise Logical OR Masks"                                                                                              }
  {KORQ                      "Bitwise Logical OR Masks"                                                                                              }
  {KORTESTB                  "OR Masks And Set Flags"                                                                                                }
  {KORTESTD                  "OR Masks And Set Flags"                                                                                                }
  {KORTESTQ                  "OR Masks And Set Flags"                                                                                                }
  {KORTESTW                  "OR Masks And Set Flags"                                                                                                }
  {KORW                      "Bitwise Logical OR Masks"                                                                                              }
  {KSHIFTLB                  "Shift Left Mask Registers"                                                                                             }
  {KSHIFTLD                  "Shift Left Mask Registers"                                                                                             }
  {KSHIFTLQ                  "Shift Left Mask Registers"                                                                                             }
  {KSHIFTLW                  "Shift Left Mask Registers"                                                                                             }
  {KSHIFTRB                  "Shift Right Mask Registers"                                                                                            }
  {KSHIFTRD                  "Shift Right Mask Registers"                                                                                            }
  {KSHIFTRQ                  "Shift Right Mask Registers"                                                                                            }
  {KSHIFTRW                  "Shift Right Mask Registers"                                                                                            }
  {KTESTB                    "Packed Bit Test Masks and Set Flags"                                                                                   }
  {KTESTD                    "Packed Bit Test Masks and Set Flags"                                                                                   }
  {KTESTQ                    "Packed Bit Test Masks and Set Flags"                                                                                   }
  {KTESTW                    "Packed Bit Test Masks and Set Flags"                                                                                   }
  {KUNPCKBW                  "Unpack for Mask Registers"                                                                                             }
  {KUNPCKDQ                  "Unpack for Mask Registers"                                                                                             }
  {KUNPCKWD                  "Unpack for Mask Registers"                                                                                             }
  {KXNORB                    "Bitwise Logical XNOR Masks"                                                                                            }
  {KXNORD                    "Bitwise Logical XNOR Masks"                                                                                            }
  {KXNORQ                    "Bitwise Logical XNOR Masks"                                                                                            }
  {KXNORW                    "Bitwise Logical XNOR Masks"                                                                                            }
  {KXORB                     "Bitwise Logical XOR Masks"                                                                                             }
  {KXORD                     "Bitwise Logical XOR Masks"                                                                                             }
  {KXORQ                     "Bitwise Logical XOR Masks"                                                                                             }
  {KXORW                     "Bitwise Logical XOR Masks"                                                                                             }
  {LAHF                      "Load Status Flags into AH Register"                                                                                    }
  {LAR                       "Load Access Rights Byte"                                                                                               }
  {LDDQU                     "Load Unaligned Integer 128 Bits"                                                                                       }
  {LDMXCSR                   "Load MXCSR Register"                                                                                                   }
  {LDS                       "Load Far Pointer"                                                                                                      }
  {LEA                       "Load Effective Address"                                                                                                }
  {LEAVE                     "High Level Procedure Exit"                                                                                             }
  {LES                       "Load Far Pointer"                                                                                                      }
  {LFENCE                    "Load Fence"                                                                                                            }
  {LFS                       "Load Far Pointer"                                                                                                      }
  {LGDT                      "Load Global/Interrupt Descriptor Table Register"                                                                       }
  {LGS                       "Load Far Pointer"                                                                                                      }
  {LIDT                      "Load Global/Interrupt Descriptor Table Register"                                                                       }
  {LLDT                      "Load Local Descriptor Table Register"                                                                                  }
  {LMSW                      "Load Machine Status Word"                                                                                              }
  {LOADIWKEY                 "Load Internal Wrapping Key with Key Locker"                                                                            }
  {LOCK                      "Assert LOCK# Signal Prefix"                                                                                            }
  {LODS                      "Load String"                                                                                                           }
  {LODSB                     "Load String"                                                                                                           }
  {LODSD                     "Load String"                                                                                                           }
  {LODSQ                     "Load String"                                                                                                           }
  {LODSW                     "Load String"                                                                                                           }
  {LOOP                      "Loop According to ECX Counter"                                                                                         }
  {LOOPcc                    "Loop According to ECX Counter"                                                                                         }
  {LSL                       "Load Segment Limit"                                                                                                    }
  {LSS                       "Load Far Pointer"                                                                                                      }
  {LTR                       "Load Task Register"                                                                                                    }
  {LZCNT                     "Count the Number of Leading Zero Bits"                                                                                 }
  {MASKMOVDQU                "Store Selected Bytes of Double Quadword"                                                                               }
  {MASKMOVQ                  "Store Selected Bytes of Quadword"                                                                                      }
  {MAXPD                     "Maximum of Packed Double-Precision Floating-Point Values"                                                              }
  {MAXPS                     "Maximum of Packed Single-Precision Floating-Point Values"                                                              }
  {MAXSD                     "Return Maximum Scalar Double-Precision Floating-Point Value"                                                           }
  {MAXSS                     "Return Maximum Scalar Single-Precision Floating-Point Value"                                                           }
  {MFENCE                    "Memory Fence"                                                                                                          }
  {MINPD                     "Minimum of Packed Double-Precision Floating-Point Values"                                                              }
  {MINPS                     "Minimum of Packed Single-Precision Floating-Point Values"                                                              }
  {MINSD                     "Return Minimum Scalar Double-Precision Floating-Point Value"                                                           }
  {MINSS                     "Return Minimum Scalar Single-Precision Floating-Point Value"                                                           }
  {MONITOR                   "Set Up Monitor Address"                                                                                                }
  {MOV                       "Move"                                                                                                                  }
  {MOVAPD                    "Move Aligned Packed Double-Precision Floating-Point Values"                                                            }
  {MOVAPS                    "Move Aligned Packed Single-Precision Floating-Point Values"                                                            }
  {MOVBE                     "Move Data After Swapping Bytes"                                                                                        }
  {MOVD                      "Move Doubleword/Move Quadword"                                                                                         }
  {MOVDDUP                   "Replicate Double FP Values"                                                                                            }
  {MOVDIR64B                 "Move 64 Bytes as Direct Store"                                                                                         }
  {MOVDIRI                   "Move Doubleword as Direct Store"                                                                                       }
  {MOVDQ2Q                   "Move Quadword from XMM to MMX Technology Register"                                                                     }
  {MOVDQA                    "Move Aligned Packed Integer Values"                                                                                    }
  {MOVDQU                    "Move Unaligned Packed Integer Values"                                                                                  }
  {MOVHLPS                   "Move Packed Single-Precision Floating-Point Values High to Low"                                                        }
  {MOVHPD                    "Move High Packed Double-Precision Floating-Point Value"                                                                }
  {MOVHPS                    "Move High Packed Single-Precision Floating-Point Values"                                                               }
  {MOVLHPS                   "Move Packed Single-Precision Floating-Point Values Low to High"                                                        }
  {MOVLPD                    "Move Low Packed Double-Precision Floating-Point Value"                                                                 }
  {MOVLPS                    "Move Low Packed Single-Precision Floating-Point Values"                                                                }
  {MOVMSKPD                  "Extract Packed Double-Precision Floating-Point Sign Mask"                                                              }
  {MOVMSKPS                  "Extract Packed Single-Precision Floating-Point Sign Mask"                                                              }
  {MOVNTDQ                   "Store Packed Integers Using Non-Temporal Hint"                                                                         }
  {MOVNTDQA                  "Load Double Quadword Non-Temporal Aligned Hint"                                                                        }
  {MOVNTI                    "Store Doubleword Using Non-Temporal Hint"                                                                              }
  {MOVNTPD                   "Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint"                                           }
  {MOVNTPS                   "Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint"                                           }
  {MOVNTQ                    "Store of Quadword Using Non-Temporal Hint"                                                                             }
  {MOVQ                      "Move Doubleword/Move Quadword"                                                                                         }
  {MOVQ2DQ                   "Move Quadword from MMX Technology to XMM Register"                                                                     }
  {MOVS                      "Move Data from String to String"                                                                                       }
  {MOVSB                     "Move Data from String to String"                                                                                       }
  {MOVSD                     "Move Data from String to String"                                                                                       }
  {MOVSHDUP                  "Replicate Single FP Values"                                                                                            }
  {MOVSLDUP                  "Replicate Single FP Values"                                                                                            }
  {MOVSQ                     "Move Data from String to String"                                                                                       }
  {MOVSS                     "Move or Merge Scalar Single-Precision Floating-Point Value"                                                            }
  {MOVSW                     "Move Data from String to String"                                                                                       }
  {MOVSX                     "Move with Sign-Extension"                                                                                              }
  {MOVSXD                    "Move with Sign-Extension"                                                                                              }
  {MOVUPD                    "Move Unaligned Packed Double-Precision Floating-Point Values"                                                          }
  {MOVUPS                    "Move Unaligned Packed Single-Precision Floating-Point Values"                                                          }
  {MOVZX                     "Move with Zero-Extend"                                                                                                 }
  {MPSADBW                   "Compute Multiple Packed Sums of Absolute Difference"                                                                   }
  {MUL                       "Unsigned Multiply"                                                                                                     }
  {MULPD                     "Multiply Packed Double-Precision Floating-Point Values"                                                                }
  {MULPS                     "Multiply Packed Single-Precision Floating-Point Values"                                                                }
  {MULSD                     "Multiply Scalar Double-Precision Floating-Point Value"                                                                 }
  {MULSS                     "Multiply Scalar Single-Precision Floating-Point Values"                                                                }
  {MULX                      "Unsigned Multiply Without Affecting Flags"                                                                             }
  {MWAIT                     "Monitor Wait"                                                                                                          }
  {NEG                       "Two's Complement Negation"                                                                                             }
  {NOP                       "No Operation"                                                                                                          }
  {NOT                       "One's Complement Negation"                                                                                             }
  {OR                        "Logical Inclusive OR"                                                                                                  }
  {ORPD                      "Bitwise Logical OR of Packed Double Precision Floating-Point Values"                                                   }
  {ORPS                      "Bitwise Logical OR of Packed Single Precision Floating-Point Values"                                                   }
  {OUT                       "Output to Port"                                                                                                        }
  {OUTS                      "Output String to Port"                                                                                                 }
  {OUTSB                     "Output String to Port"                                                                                                 }
  {OUTSD                     "Output String to Port"                                                                                                 }
  {OUTSW                     "Output String to Port"                                                                                                 }
  {PABSB                     "Packed Absolute Value"                                                                                                 }
  {PABSD                     "Packed Absolute Value"                                                                                                 }
  {PABSQ                     "Packed Absolute Value"                                                                                                 }
  {PABSW                     "Packed Absolute Value"                                                                                                 }
  {PACKSSDW                  "Pack with Signed Saturation"                                                                                           }
  {PACKSSWB                  "Pack with Signed Saturation"                                                                                           }
  {PACKUSDW                  "Pack with Unsigned Saturation"                                                                                         }
  {PACKUSWB                  "Pack with Unsigned Saturation"                                                                                         }
  {PADDB                     "Add Packed Integers"                                                                                                   }
  {PADDD                     "Add Packed Integers"                                                                                                   }
  {PADDQ                     "Add Packed Integers"                                                                                                   }
  {PADDSB                    "Add Packed Signed Integers with Signed Saturation"                                                                     }
  {PADDSW                    "Add Packed Signed Integers with Signed Saturation"                                                                     }
  {PADDUSB                   "Add Packed Unsigned Integers with Unsigned Saturation"                                                                 }
  {PADDUSW                   "Add Packed Unsigned Integers with Unsigned Saturation"                                                                 }
  {PADDW                     "Add Packed Integers"                                                                                                   }
  {PALIGNR                   "Packed Align Right"                                                                                                    }
  {PAND                      "Logical AND"                                                                                                           }
  {PANDN                     "Logical AND NOT"                                                                                                       }
  {PAUSE                     "Spin Loop Hint"                                                                                                        }
  {PAVGB                     "Average Packed Integers"                                                                                               }
  {PAVGW                     "Average Packed Integers"                                                                                               }
  {PBLENDVB                  "Variable Blend Packed Bytes"                                                                                           }
  {PBLENDW                   "Blend Packed Words"                                                                                                    }
  {PCLMULQDQ                 "Carry-Less Multiplication Quadword"                                                                                    }
  {PCMPEQB                   "Compare Packed Data for Equal"                                                                                         }
  {PCMPEQD                   "Compare Packed Data for Equal"                                                                                         }
  {PCMPEQQ                   "Compare Packed Qword Data for Equal"                                                                                   }
  {PCMPEQW                   "Compare Packed Data for Equal"                                                                                         }
  {PCMPESTRI                 "Packed Compare Explicit Length Strings, Return Index"                                                                  }
  {PCMPESTRM                 "Packed Compare Explicit Length Strings, Return Mask"                                                                   }
  {PCMPGTB                   "Compare Packed Signed Integers for Greater Than"                                                                       }
  {PCMPGTD                   "Compare Packed Signed Integers for Greater Than"                                                                       }
  {PCMPGTQ                   "Compare Packed Data for Greater Than"                                                                                  }
  {PCMPGTW                   "Compare Packed Signed Integers for Greater Than"                                                                       }
  {PCMPISTRI                 "Packed Compare Implicit Length Strings, Return Index"                                                                  }
  {PCMPISTRM                 "Packed Compare Implicit Length Strings, Return Mask"                                                                   }
  {PCONFIG                   "Platform Configuration"                                                                                                }
  {PDEP                      "Parallel Bits Deposit"                                                                                                 }
  {PEXT                      "Parallel Bits Extract"                                                                                                 }
  {PEXTRB                    "Extract Byte/Dword/Qword"                                                                                              }
  {PEXTRD                    "Extract Byte/Dword/Qword"                                                                                              }
  {PEXTRQ                    "Extract Byte/Dword/Qword"                                                                                              }
  {PEXTRW                    "Extract Word"                                                                                                          }
  {PHADDD                    "Packed Horizontal Add"                                                                                                 }
  {PHADDSW                   "Packed Horizontal Add and Saturate"                                                                                    }
  {PHADDW                    "Packed Horizontal Add"                                                                                                 }
  {PHMINPOSUW                "Packed Horizontal Word Minimum"                                                                                        }
  {PHSUBD                    "Packed Horizontal Subtract"                                                                                            }
  {PHSUBSW                   "Packed Horizontal Subtract and Saturate"                                                                               }
  {PHSUBW                    "Packed Horizontal Subtract"                                                                                            }
  {PINSRB                    "Insert Byte/Dword/Qword"                                                                                               }
  {PINSRD                    "Insert Byte/Dword/Qword"                                                                                               }
  {PINSRQ                    "Insert Byte/Dword/Qword"                                                                                               }
  {PINSRW                    "Insert Word"                                                                                                           }
  {PMADDUBSW                 "Multiply and Add Packed Signed and Unsigned Bytes"                                                                     }
  {PMADDWD                   "Multiply and Add Packed Integers"                                                                                      }
  {PMAXSB                    "Maximum of Packed Signed Integers"                                                                                     }
  {PMAXSD                    "Maximum of Packed Signed Integers"                                                                                     }
  {PMAXSQ                    "Maximum of Packed Signed Integers"                                                                                     }
  {PMAXSW                    "Maximum of Packed Signed Integers"                                                                                     }
  {PMAXUB                    "Maximum of Packed Unsigned Integers"                                                                                   }
  {PMAXUD                    "Maximum of Packed Unsigned Integers"                                                                                   }
  {PMAXUQ                    "Maximum of Packed Unsigned Integers"                                                                                   }
  {PMAXUW                    "Maximum of Packed Unsigned Integers"                                                                                   }
  {PMINSB                    "Minimum of Packed Signed Integers"                                                                                     }
  {PMINSD                    "Minimum of Packed Signed Integers"                                                                                     }
  {PMINSQ                    "Minimum of Packed Signed Integers"                                                                                     }
  {PMINSW                    "Minimum of Packed Signed Integers"                                                                                     }
  {PMINUB                    "Minimum of Packed Unsigned Integers"                                                                                   }
  {PMINUD                    "Minimum of Packed Unsigned Integers"                                                                                   }
  {PMINUQ                    "Minimum of Packed Unsigned Integers"                                                                                   }
  {PMINUW                    "Minimum of Packed Unsigned Integers"                                                                                   }
  {PMOVMSKB                  "Move Byte Mask"                                                                                                        }
  {PMOVSX                    "Packed Move with Sign Extend"                                                                                          }
  {PMOVZX                    "Packed Move with Zero Extend"                                                                                          }
  {PMULDQ                    "Multiply Packed Doubleword Integers"                                                                                   }
  {PMULHRSW                  "Packed Multiply High with Round and Scale"                                                                             }
  {PMULHUW                   "Multiply Packed Unsigned Integers and Store High Result"                                                               }
  {PMULHW                    "Multiply Packed Signed Integers and Store High Result"                                                                 }
  {PMULLD                    "Multiply Packed Integers and Store Low Result"                                                                         }
  {PMULLQ                    "Multiply Packed Integers and Store Low Result"                                                                         }
  {PMULLW                    "Multiply Packed Signed Integers and Store Low Result"                                                                  }
  {PMULUDQ                   "Multiply Packed Unsigned Doubleword Integers"                                                                          }
  {POP                       "Pop a Value from the Stack"                                                                                            }
  {POPA                      "Pop All General-Purpose Registers"                                                                                     }
  {POPAD                     "Pop All General-Purpose Registers"                                                                                     }
  {POPCNT                    "Return the Count of Number of Bits Set to 1"                                                                           }
  {POPF                      "Pop Stack into EFLAGS Register"                                                                                        }
  {POPFD                     "Pop Stack into EFLAGS Register"                                                                                        }
  {POPFQ                     "Pop Stack into EFLAGS Register"                                                                                        }
  {POR                       "Bitwise Logical OR"                                                                                                    }
  {PREFETCHW                 "Prefetch Data into Caches in Anticipation of a Write"                                                                  }
  {PREFETCHh                 "Prefetch Data Into Caches"                                                                                             }
  {PSADBW                    "Compute Sum of Absolute Differences"                                                                                   }
  {PSHUFB                    "Packed Shuffle Bytes"                                                                                                  }
  {PSHUFD                    "Shuffle Packed Doublewords"                                                                                            }
  {PSHUFHW                   "Shuffle Packed High Words"                                                                                             }
  {PSHUFLW                   "Shuffle Packed Low Words"                                                                                              }
  {PSHUFW                    "Shuffle Packed Words"                                                                                                  }
  {PSIGNB                    "Packed SIGN"                                                                                                           }
  {PSIGND                    "Packed SIGN"                                                                                                           }
  {PSIGNW                    "Packed SIGN"                                                                                                           }
  {PSLLD                     "Shift Packed Data Left Logical"                                                                                        }
  {PSLLDQ                    "Shift Double Quadword Left Logical"                                                                                    }
  {PSLLQ                     "Shift Packed Data Left Logical"                                                                                        }
  {PSLLW                     "Shift Packed Data Left Logical"                                                                                        }
  {PSRAD                     "Shift Packed Data Right Arithmetic"                                                                                    }
  {PSRAQ                     "Shift Packed Data Right Arithmetic"                                                                                    }
  {PSRAW                     "Shift Packed Data Right Arithmetic"                                                                                    }
  {PSRLD                     "Shift Packed Data Right Logical"                                                                                       }
  {PSRLDQ                    "Shift Double Quadword Right Logical"                                                                                   }
  {PSRLQ                     "Shift Packed Data Right Logical"                                                                                       }
  {PSRLW                     "Shift Packed Data Right Logical"                                                                                       }
  {PSUBB                     "Subtract Packed Integers"                                                                                              }
  {PSUBD                     "Subtract Packed Integers"                                                                                              }
  {PSUBQ                     "Subtract Packed Quadword Integers"                                                                                     }
  {PSUBSB                    "Subtract Packed Signed Integers with Signed Saturation"                                                                }
  {PSUBSW                    "Subtract Packed Signed Integers with Signed Saturation"                                                                }
  {PSUBUSB                   "Subtract Packed Unsigned Integers with Unsigned Saturation"                                                            }
  {PSUBUSW                   "Subtract Packed Unsigned Integers with Unsigned Saturation"                                                            }
  {PSUBW                     "Subtract Packed Integers"                                                                                              }
  {PTEST                     "Logical Compare"                                                                                                       }
  {PTWRITE                   "Write Data to a Processor Trace Packet"                                                                                }
  {PUNPCKHBW                 "Unpack High Data"                                                                                                      }
  {PUNPCKHDQ                 "Unpack High Data"                                                                                                      }
  {PUNPCKHQDQ                "Unpack High Data"                                                                                                      }
  {PUNPCKHWD                 "Unpack High Data"                                                                                                      }
  {PUNPCKLBW                 "Unpack Low Data"                                                                                                       }
  {PUNPCKLDQ                 "Unpack Low Data"                                                                                                       }
  {PUNPCKLQDQ                "Unpack Low Data"                                                                                                       }
  {PUNPCKLWD                 "Unpack Low Data"                                                                                                       }
  {PUSH                      "Push Word, Doubleword or Quadword Onto the Stack"                                                                      }
  {PUSHA                     "Push All General-Purpose Registers"                                                                                    }
  {PUSHAD                    "Push All General-Purpose Registers"                                                                                    }
  {PUSHF                     "Push EFLAGS Register onto the Stack"                                                                                   }
  {PUSHFD                    "Push EFLAGS Register onto the Stack"                                                                                   }
  {PUSHFQ                    "Push EFLAGS Register onto the Stack"                                                                                   }
  {PXOR                      "Logical Exclusive OR"                                                                                                  }
  {RCL                       "Rotate"                                                                                                                }
  {RCPPS                     "Compute Reciprocals of Packed Single-Precision Floating-Point Values"                                                  }
  {RCPSS                     "Compute Reciprocal of Scalar Single-Precision Floating-Point Values"                                                   }
  {RCR                       "Rotate"                                                                                                                }
  {RDFSBASE                  "Read FS/GS Segment Base"                                                                                               }
  {RDGSBASE                  "Read FS/GS Segment Base"                                                                                               }
  {RDMSR                     "Read from Model Specific Register"                                                                                     }
  {RDPID                     "Read Processor ID"                                                                                                     }
  {RDPKRU                    "Read Protection Key Rights for User Pages"                                                                             }
  {RDPMC                     "Read Performance-Monitoring Counters"                                                                                  }
  {RDRAND                    "Read Random Number"                                                                                                    }
  {RDSEED                    "Read Random SEED"                                                                                                      }
  {RDSSPD                    "Read Shadow Stack Pointer"                                                                                             }
  {RDSSPQ                    "Read Shadow Stack Pointer"                                                                                             }
  {RDTSC                     "Read Time-Stamp Counter"                                                                                               }
  {RDTSCP                    "Read Time-Stamp Counter and Processor ID"                                                                              }
  {REP                       "Repeat String Operation Prefix"                                                                                        }
  {REPE                      "Repeat String Operation Prefix"                                                                                        }
  {REPNE                     "Repeat String Operation Prefix"                                                                                        }
  {REPNZ                     "Repeat String Operation Prefix"                                                                                        }
  {REPZ                      "Repeat String Operation Prefix"                                                                                        }
  {RET                       "Return from Procedure"                                                                                                 }
  {ROL                       "Rotate"                                                                                                                }
  {ROR                       "Rotate"                                                                                                                }
  {RORX                      "Rotate Right Logical Without Affecting Flags"                                                                          }
  {ROUNDPD                   "Round Packed Double Precision Floating-Point Values"                                                                   }
  {ROUNDPS                   "Round Packed Single Precision Floating-Point Values"                                                                   }
  {ROUNDSD                   "Round Scalar Double Precision Floating-Point Values"                                                                   }
  {ROUNDSS                   "Round Scalar Single Precision Floating-Point Values"                                                                   }
  {RSM                       "Resume from System Management Mode"                                                                                    }
  {RSQRTPS                   "Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values"                                  }
  {RSQRTSS                   "Compute Reciprocal of Square Root of Scalar Single-Precision Floating-Point Value"                                     }
  {RSTORSSP                  "Restore Saved Shadow Stack Pointer"                                                                                    }
  {SAHF                      "Store AH into Flags"                                                                                                   }
  {SAL                       "Shift"                                                                                                                 }
  {SAR                       "Shift"                                                                                                                 }
  {SARX                      "Shift Without Affecting Flags"                                                                                         }
  {SAVEPREVSSP               "Save Previous Shadow Stack Pointer"                                                                                    }
  {SBB                       "Integer Subtraction with Borrow"                                                                                       }
  {SCAS                      "Scan String"                                                                                                           }
  {SCASB                     "Scan String"                                                                                                           }
  {SCASD                     "Scan String"                                                                                                           }
  {SCASW                     "Scan String"                                                                                                           }
  {SERIALIZE                 "Serialize Instruction Execution"                                                                                       }
  {SETSSBSY                  "Mark Shadow Stack Busy"                                                                                                }
  {SETcc                     "Set Byte on Condition"                                                                                                 }
  {SFENCE                    "Store Fence"                                                                                                           }
  {SGDT                      "Store Global Descriptor Table Register"                                                                                }
  {SHA1MSG1                  "Perform an Intermediate Calculation for the Next Four SHA1 Message Dwords"                                             }
  {SHA1MSG2                  "Perform a Final Calculation for the Next Four SHA1 Message Dwords"                                                     }
  {SHA1NEXTE                 "Calculate SHA1 State Variable E after Four Rounds"                                                                     }
  {SHA1RNDS4                 "Perform Four Rounds of SHA1 Operation"                                                                                 }
  {SHA256MSG1                "Perform an Intermediate Calculation for the Next Four SHA256 Message Dwords"                                           }
  {SHA256MSG2                "Perform a Final Calculation for the Next Four SHA256 Message Dwords"                                                   }
  {SHA256RNDS2               "Perform Two Rounds of SHA256 Operation"                                                                                }
  {SHL                       "Shift"                                                                                                                 }
  {SHLD                      "Double Precision Shift Left"                                                                                           }
  {SHLX                      "Shift Without Affecting Flags"                                                                                         }
  {SHR                       "Shift"                                                                                                                 }
  {SHRD                      "Double Precision Shift Right"                                                                                          }
  {SHRX                      "Shift Without Affecting Flags"                                                                                         }
  {SHUFPD                    "Packed Interleave Shuffle of Pairs of Double-Precision Floating-Point Values"                                          }
  {SHUFPS                    "Packed Interleave Shuffle of Quadruplets of Single-Precision Floating-Point Values"                                    }
  {SIDT                      "Store Interrupt Descriptor Table Register"                                                                             }
  {SLDT                      "Store Local Descriptor Table Register"                                                                                 }
  {SMSW                      "Store Machine Status Word"                                                                                             }
  {SQRTPD                    "Square Root of Double-Precision Floating-Point Values"                                                                 }
  {SQRTPS                    "Square Root of Single-Precision Floating-Point Values"                                                                 }
  {SQRTSD                    "Compute Square Root of Scalar Double-Precision Floating-Point Value"                                                   }
  {SQRTSS                    "Compute Square Root of Scalar Single-Precision Value"                                                                  }
  {STAC                      "Set AC Flag in EFLAGS Register"                                                                                        }
  {STC                       "Set Carry Flag"                                                                                                        }
  {STD                       "Set Direction Flag"                                                                                                    }
  {STI                       "Set Interrupt Flag"                                                                                                    }
  {STMXCSR                   "Store MXCSR Register State"                                                                                            }
  {STOS                      "Store String"                                                                                                          }
  {STOSB                     "Store String"                                                                                                          }
  {STOSD                     "Store String"                                                                                                          }
  {STOSQ                     "Store String"                                                                                                          }
  {STOSW                     "Store String"                                                                                                          }
  {STR                       "Store Task Register"                                                                                                   }
  {SUB                       "Subtract"                                                                                                              }
  {SUBPD                     "Subtract Packed Double-Precision Floating-Point Values"                                                                }
  {SUBPS                     "Subtract Packed Single-Precision Floating-Point Values"                                                                }
  {SUBSD                     "Subtract Scalar Double-Precision Floating-Point Value"                                                                 }
  {SUBSS                     "Subtract Scalar Single-Precision Floating-Point Value"                                                                 }
  {SWAPGS                    "Swap GS Base Register"                                                                                                 }
  {SYSCALL                   "Fast System Call"                                                                                                      }
  {SYSENTER                  "Fast System Call"                                                                                                      }
  {SYSEXIT                   "Fast Return from Fast System Call"                                                                                     }
  {SYSRET                    "Return From Fast System Call"                                                                                          }
  {TEST                      "Logical Compare"                                                                                                       }
  {TPAUSE                    "Timed PAUSE"                                                                                                           }
  {TZCNT                     "Count the Number of Trailing Zero Bits"                                                                                }
  {UCOMISD                   "Unordered Compare Scalar Double-Precision Floating-Point Values and Set EFLAGS"                                        }
  {UCOMISS                   "Unordered Compare Scalar Single-Precision Floating-Point Values and Set EFLAGS"                                        }
  {UD                        "Undefined Instruction"                                                                                                 }
  {UMONITOR                  "User Level Set Up Monitor Address"                                                                                     }
  {UMWAIT                    "User Level Monitor Wait"                                                                                               }
  {UNPCKHPD                  "Unpack and Interleave High Packed Double-Precision Floating-Point Values"                                              }
  {UNPCKHPS                  "Unpack and Interleave High Packed Single-Precision Floating-Point Values"                                              }
  {UNPCKLPD                  "Unpack and Interleave Low Packed Double-Precision Floating-Point Values"                                               }
  {UNPCKLPS                  "Unpack and Interleave Low Packed Single-Precision Floating-Point Values"                                               }
  {VALIGND                   "Align Doubleword/Quadword Vectors"                                                                                     }
  {VALIGNQ                   "Align Doubleword/Quadword Vectors"                                                                                     }
  {VBLENDMPD                 "Blend Float64/Float32 Vectors Using an OpMask Control"                                                                 }
  {VBLENDMPS                 "Blend Float64/Float32 Vectors Using an OpMask Control"                                                                 }
  {VBROADCAST                "Load with Broadcast Floating-Point Data"                                                                               }
  {VCOMPRESSPD               "Store Sparse Packed Double-Precision Floating-Point Values into Dense Memory"                                          }
  {VCOMPRESSPS               "Store Sparse Packed Single-Precision Floating-Point Values into Dense Memory"                                          }
  {VCOMPRESSW                "Store Sparse Packed Byte/Word Integer Values into Dense Memory/Register"                                               }
  {VCVTNE2PS2BF16            "Convert Two Packed Single Data to One Packed BF16 Data"                                                                }
  {VCVTNEPS2BF16             "Convert Packed Single Data to Packed BF16 Data"                                                                        }
  {VCVTPD2QQ                 "Convert Packed Double-Precision Floating-Point Values to Packed Quadword Integers"                                     }
  {VCVTPD2UDQ                "Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers"                          }
  {VCVTPD2UQQ                "Convert Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers"                            }
  {VCVTPH2PS                 "Convert 16-bit FP values to Single-Precision FP values"                                                                }
  {VCVTPS2PH                 "Convert Single-Precision FP value to 16-bit FP value"                                                                  }
  {VCVTPS2QQ                 "Convert Packed Single Precision Floating-Point Values to Packed Signed Quadword Integer Values"                        }
  {VCVTPS2UDQ                "Convert Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values"                    }
  {VCVTPS2UQQ                "Convert Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values"                      }
  {VCVTQQ2PD                 "Convert Packed Quadword Integers to Packed Double-Precision Floating-Point Values"                                     }
  {VCVTQQ2PS                 "Convert Packed Quadword Integers to Packed Single-Precision Floating-Point Values"                                     }
  {VCVTSD2USI                "Convert Scalar Double-Precision Floating-Point Value to Unsigned Doubleword Integer"                                   }
  {VCVTSS2USI                "Convert Scalar Single-Precision Floating-Point Value to Unsigned Doubleword Integer"                                   }
  {VCVTTPD2QQ                "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Quadword Integers"                     }
  {VCVTTPD2UDQ               "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Doubleword Integers"          }
  {VCVTTPD2UQQ               "Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Unsigned Quadword Integers"            }
  {VCVTTPS2QQ                "Convert with Truncation Packed Single Precision Floating-Point Values to Packed Signed Quadword Integer Values"        }
  {VCVTTPS2UDQ               "Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Unsigned Doubleword Integer Values"    }
  {VCVTTPS2UQQ               "Convert with Truncation Packed Single Precision Floating-Point Values to Packed Unsigned Quadword Integer Values"      }
  {VCVTTSD2USI               "Convert with Truncation Scalar Double-Precision Floating-Point Value to Unsigned Integer"                              }
  {VCVTTSS2USI               "Convert with Truncation Scalar Single-Precision Floating-Point Value to Unsigned Integer"                              }
  {VCVTUDQ2PD                "Convert Packed Unsigned Doubleword Integers to Packed Double-Precision Floating-Point Values"                          }
  {VCVTUDQ2PS                "Convert Packed Unsigned Doubleword Integers to Packed Single-Precision Floating-Point Values"                          }
  {VCVTUQQ2PD                "Convert Packed Unsigned Quadword Integers to Packed Double-Precision Floating-Point Values"                            }
  {VCVTUQQ2PS                "Convert Packed Unsigned Quadword Integers to Packed Single-Precision Floating-Point Values"                            }
  {VCVTUSI2SD                "Convert Unsigned Integer to Scalar Double-Precision Floating-Point Value"                                              }
  {VCVTUSI2SS                "Convert Unsigned Integer to Scalar Single-Precision Floating-Point Value"                                              }
  {VDBPSADBW                 "Double Block Packed Sum-Absolute-Differences (SAD) on Unsigned Bytes"                                                  }
  {VDPBF16PS                 "Dot Product of BF16 Pairs Accumulated into Packed Single Precision"                                                    }
  {VERR                      "Verify a Segment for Reading or Writing"                                                                               }
  {VERW                      "Verify a Segment for Reading or Writing"                                                                               }
  {VEXPANDPD                 "Load Sparse Packed Double-Precision Floating-Point Values from Dense Memory"                                           }
  {VEXPANDPS                 "Load Sparse Packed Single-Precision Floating-Point Values from Dense Memory"                                           }
  {VEXTRACTF128              "Extr act Packed Floating-Point Values"                                                                                 }
  {VEXTRACTF32x4             "Extr act Packed Floating-Point Values"                                                                                 }
  {VEXTRACTF32x8             "Extr act Packed Floating-Point Values"                                                                                 }
  {VEXTRACTF64x2             "Extr act Packed Floating-Point Values"                                                                                 }
  {VEXTRACTF64x4             "Extr act Packed Floating-Point Values"                                                                                 }
  {VEXTRACTI128              "Extract packed Integer Values"                                                                                         }
  {VEXTRACTI32x4             "Extract packed Integer Values"                                                                                         }
  {VEXTRACTI32x8             "Extract packed Integer Values"                                                                                         }
  {VEXTRACTI64x2             "Extract packed Integer Values"                                                                                         }
  {VEXTRACTI64x4             "Extract packed Integer Values"                                                                                         }
  {VFIXUPIMMPD               "Fix Up Special Packed Float64 Values"                                                                                  }
  {VFIXUPIMMPS               "Fix Up Special Packed Float32 Values"                                                                                  }
  {VFIXUPIMMSD               "Fix Up Special Scalar Float64 Value"                                                                                   }
  {VFIXUPIMMSS               "Fix Up Special Scalar Float32 Value"                                                                                   }
  {VFMADD132PD               "Fused Multiply-Add of Packed Double- Precision Floating-Point Values"                                                  }
  {VFMADD132PS               "Fused Multiply-Add of Packed Single- Precision Floating-Point Values"                                                  }
  {VFMADD132SD               "Fused Multiply-Add of Scalar Double- Precision Floating-Point Values"                                                  }
  {VFMADD132SS               "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values"                                                   }
  {VFMADD213PD               "Fused Multiply-Add of Packed Double- Precision Floating-Point Values"                                                  }
  {VFMADD213PS               "Fused Multiply-Add of Packed Single- Precision Floating-Point Values"                                                  }
  {VFMADD213SD               "Fused Multiply-Add of Scalar Double- Precision Floating-Point Values"                                                  }
  {VFMADD213SS               "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values"                                                   }
  {VFMADD231PD               "Fused Multiply-Add of Packed Double- Precision Floating-Point Values"                                                  }
  {VFMADD231PS               "Fused Multiply-Add of Packed Single- Precision Floating-Point Values"                                                  }
  {VFMADD231SD               "Fused Multiply-Add of Scalar Double- Precision Floating-Point Values"                                                  }
  {VFMADD231SS               "Fused Multiply-Add of Scalar Single-Precision Floating-Point Values"                                                   }
  {VFMADDSUB132PD            "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values"                              }
  {VFMADDSUB132PS            "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values"                              }
  {VFMADDSUB213PD            "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values"                              }
  {VFMADDSUB213PS            "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values"                              }
  {VFMADDSUB231PD            "Fused Multiply-Alternating Add/Subtract of Packed Double-Precision Floating-Point Values"                              }
  {VFMADDSUB231PS            "Fused Multiply-Alternating Add/Subtract of Packed Single-Precision Floating-Point Values"                              }
  {VFMSUB132PD               "Fused Multiply-Subtract of Packed Double- Precision Floating-Point Values"                                             }
  {VFMSUB132PS               "Fused Multiply-Subtract of Packed Single- Precision Floating-Point Values"                                             }
  {VFMSUB132SD               "Fused Multiply-Subtract of Scalar Double- Precision Floating-Point Values"                                             }
  {VFMSUB132SS               "Fused Multiply-Subtract of Scalar Single- Precision Floating-Point Values"                                             }
  {VFMSUB213PD               "Fused Multiply-Subtract of Packed Double- Precision Floating-Point Values"                                             }
  {VFMSUB213PS               "Fused Multiply-Subtract of Packed Single- Precision Floating-Point Values"                                             }
  {VFMSUB213SD               "Fused Multiply-Subtract of Scalar Double- Precision Floating-Point Values"                                             }
  {VFMSUB213SS               "Fused Multiply-Subtract of Scalar Single- Precision Floating-Point Values"                                             }
  {VFMSUB231PD               "Fused Multiply-Subtract of Packed Double- Precision Floating-Point Values"                                             }
  {VFMSUB231PS               "Fused Multiply-Subtract of Packed Single- Precision Floating-Point Values"                                             }
  {VFMSUB231SD               "Fused Multiply-Subtract of Scalar Double- Precision Floating-Point Values"                                             }
  {VFMSUB231SS               "Fused Multiply-Subtract of Scalar Single- Precision Floating-Point Values"                                             }
  {VFMSUBADD132PD            "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values"                              }
  {VFMSUBADD132PS            "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values"                              }
  {VFMSUBADD213PD            "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values"                              }
  {VFMSUBADD213PS            "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values"                              }
  {VFMSUBADD231PD            "Fused Multiply-Alternating Subtract/Add of Packed Double-Precision Floating-Point Values"                              }
  {VFMSUBADD231PS            "Fused Multiply-Alternating Subtract/Add of Packed Single-Precision Floating-Point Values"                              }
  {VFNMADD132PD              "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values"                                          }
  {VFNMADD132PS              "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values"                                          }
  {VFNMADD132SD              "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values"                                          }
  {VFNMADD132SS              "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values"                                          }
  {VFNMADD213PD              "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values"                                          }
  {VFNMADD213PS              "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values"                                          }
  {VFNMADD213SD              "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values"                                          }
  {VFNMADD213SS              "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values"                                          }
  {VFNMADD231PD              "Fused Negative Multiply-Add of Packed Double-Precision Floating-Point Values"                                          }
  {VFNMADD231PS              "Fused Negative Multiply-Add of Packed Single-Precision Floating-Point Values"                                          }
  {VFNMADD231SD              "Fused Negative Multiply-Add of Scalar Double-Precision Floating-Point Values"                                          }
  {VFNMADD231SS              "Fused Negative Multiply-Add of Scalar Single-Precision Floating-Point Values"                                          }
  {VFNMSUB132PD              "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values"                                     }
  {VFNMSUB132PS              "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values"                                     }
  {VFNMSUB132SD              "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values"                                     }
  {VFNMSUB132SS              "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values"                                     }
  {VFNMSUB213PD              "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values"                                     }
  {VFNMSUB213PS              "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values"                                     }
  {VFNMSUB213SD              "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values"                                     }
  {VFNMSUB213SS              "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values"                                     }
  {VFNMSUB231PD              "Fused Negative Multiply-Subtract of Packed Double-Precision Floating-Point Values"                                     }
  {VFNMSUB231PS              "Fused Negative Multiply-Subtract of Packed Single-Precision Floating-Point Values"                                     }
  {VFNMSUB231SD              "Fused Negative Multiply-Subtract of Scalar Double-Precision Floating-Point Values"                                     }
  {VFNMSUB231SS              "Fused Negative Multiply-Subtract of Scalar Single-Precision Floating-Point Values"                                     }
  {VFPCLASSPD                "Tests Types Of a Packed Float64 Values"                                                                                }
  {VFPCLASSPS                "Tests Types Of a Packed Float32 Values"                                                                                }
  {VFPCLASSSD                "Tests Types Of a Scalar Float64 Values"                                                                                }
  {VFPCLASSSS                "Tests Types Of a Scalar Float32 Values"                                                                                }
  {VGATHERDPD                "Gather Packed DP FP Values Using Signed Dword/Qword Indices"                                                           }
  {VGATHERDPS                "Gather Packed SP FP values Using Signed Dword/Qword Indices"                                                           }
  {VGATHERQPD                "Gather Packed DP FP Values Using Signed Dword/Qword Indices"                                                           }
  {VGATHERQPS                "Gather Packed SP FP values Using Signed Dword/Qword Indices"                                                           }
  {VGETEXPPD                 "Convert Exponents of Packed DP FP Values to DP FP Values"                                                              }
  {VGETEXPPS                 "Convert Exponents of Packed SP FP Values to SP FP Values"                                                              }
  {VGETEXPSD                 "Convert Exponents of Scalar DP FP Values to DP FP Value"                                                               }
  {VGETEXPSS                 "Convert Exponents of Scalar SP FP Values to SP FP Value"                                                               }
  {VGETMANTPD                "Extract Float64 Vector of Normalized Mantissas from Float64 Vector"                                                    }
  {VGETMANTPS                "Extract Float32 Vector of Normalized Mantissas from Float32 Vector"                                                    }
  {VGETMANTSD                "Extract Float64 of Normalized Mantissas from Float64 Scalar"                                                           }
  {VGETMANTSS                "Extract Float32 Vector of Normalized Mantissa from Float32 Vector"                                                     }
  {VINSERTF128               "Insert Packed Floating-Point Values"                                                                                   }
  {VINSERTF32x4              "Insert Packed Floating-Point Values"                                                                                   }
  {VINSERTF32x8              "Insert Packed Floating-Point Values"                                                                                   }
  {VINSERTF64x2              "Insert Packed Floating-Point Values"                                                                                   }
  {VINSERTF64x4              "Insert Packed Floating-Point Values"                                                                                   }
  {VINSERTI128               "Insert Packed Integer Values"                                                                                          }
  {VINSERTI32x4              "Insert Packed Integer Values"                                                                                          }
  {VINSERTI32x8              "Insert Packed Integer Values"                                                                                          }
  {VINSERTI64x2              "Insert Packed Integer Values"                                                                                          }
  {VINSERTI64x4              "Insert Packed Integer Values"                                                                                          }
  {VMASKMOV                  "Conditional SIMD Packed Loads and Stores"                                                                              }
  {VMOVDQA32                 "Move Aligned Packed Integer Values"                                                                                    }
  {VMOVDQA64                 "Move Aligned Packed Integer Values"                                                                                    }
  {VMOVDQU16                 "Move Unaligned Packed Integer Values"                                                                                  }
  {VMOVDQU32                 "Move Unaligned Packed Integer Values"                                                                                  }
  {VMOVDQU64                 "Move Unaligned Packed Integer Values"                                                                                  }
  {VMOVDQU8                  "Move Unaligned Packed Integer Values"                                                                                  }
  {VP2INTERSECTD             "Compute Intersection Between DWORDS/QUADWORDS to a Pair of Mask Registers"                                             }
  {VP2INTERSECTQ             "Compute Intersection Between DWORDS/QUADWORDS to a Pair of Mask Registers"                                             }
  {VPBLENDD                  "Blend Packed Dwords"                                                                                                   }
  {VPBLENDMB                 "Blend Byte/Word Vectors Using an Opmask Control"                                                                       }
  {VPBLENDMD                 "Blend Int32/Int64 Vectors Using an OpMask Control"                                                                     }
  {VPBLENDMQ                 "Blend Int32/Int64 Vectors Using an OpMask Control"                                                                     }
  {VPBLENDMW                 "Blend Byte/Word Vectors Using an Opmask Control"                                                                       }
  {VPBROADCAST               "Load Integer and Broadcast"                                                                                            }
  {VPBROADCASTB              "Load with Broadcast Integer Data from General Purpose Register"                                                        }
  {VPBROADCASTD              "Load with Broadcast Integer Data from General Purpose Register"                                                        }
  {VPBROADCASTM              "Broadcast Mask to Vector Register"                                                                                     }
  {VPBROADCASTQ              "Load with Broadcast Integer Data from General Purpose Register"                                                        }
  {VPBROADCASTW              "Load with Broadcast Integer Data from General Purpose Register"                                                        }
  {VPCMPB                    "Compare Packed Byte Values Into Mask"                                                                                  }
  {VPCMPD                    "Compare Packed Integer Values into Mask"                                                                               }
  {VPCMPQ                    "Compare Packed Integer Values into Mask"                                                                               }
  {VPCMPUB                   "Compare Packed Byte Values Into Mask"                                                                                  }
  {VPCMPUD                   "Compare Packed Integer Values into Mask"                                                                               }
  {VPCMPUQ                   "Compare Packed Integer Values into Mask"                                                                               }
  {VPCMPUW                   "Compare Packed Word Values Into Mask"                                                                                  }
  {VPCMPW                    "Compare Packed Word Values Into Mask"                                                                                  }
  {VPCOMPRESSB               "Store Sparse Packed Byte/Word Integer Values into Dense Memory/Register"                                               }
  {VPCOMPRESSD               "Store Sparse Packed Doubleword Integer Values into Dense Memory/Register"                                              }
  {VPCOMPRESSQ               "Store Sparse Packed Quadword Integer Values into Dense Memory/Register"                                                }
  {VPCONFLICTD               "Detect Conflicts Within a Vector of Packed Dword/Qword Values into Dense Memory/ Register"                             }
  {VPCONFLICTQ               "Detect Conflicts Within a Vector of Packed Dword/Qword Values into Dense Memory/ Register"                             }
  {VPDPBUSD                  "Multiply and Add Unsigned and Signed Bytes"                                                                            }
  {VPDPBUSDS                 "Multiply and Add Unsigned and Signed Bytes with Saturation"                                                            }
  {VPDPWSSD                  "Multiply and Add Signed Word Integers"                                                                                 }
  {VPDPWSSDS                 "Multiply and Add Signed Word Integers with Saturation"                                                                 }
  {VPERM2F128                "Permute Floating-Point Values"                                                                                         }
  {VPERM2I128                "Permute Integer Values"                                                                                                }
  {VPERMB                    "Permute Packed Bytes Elements"                                                                                         }
  {VPERMD                    "Permute Packed Doublewords/Words Elements"                                                                             }
  {VPERMI2B                  "Full Permute of Bytes from Two Tables Overwriting the Index"                                                           }
  {VPERMI2D                  "Full Permute From Two Tables Overwriting the Index"                                                                    }
  {VPERMI2PD                 "Full Permute From Two Tables Overwriting the Index"                                                                    }
  {VPERMI2PS                 "Full Permute From Two Tables Overwriting the Index"                                                                    }
  {VPERMI2Q                  "Full Permute From Two Tables Overwriting the Index"                                                                    }
  {VPERMI2W                  "Full Permute From Two Tables Overwriting the Index"                                                                    }
  {VPERMILPD                 "Permute In-Lane of Pairs of Double-Precision Floating-Point Values"                                                    }
  {VPERMILPS                 "Permute In-Lane of Quadruples of Single-Precision Floating-Point Values"                                               }
  {VPERMPD                   "Permute Double-Precision Floating-Point Elements"                                                                      }
  {VPERMPS                   "Permute Single-Precision Floating-Point Elements"                                                                      }
  {VPERMQ                    "Qwords Element Permutation"                                                                                            }
  {VPERMT2B                  "Full Permute of Bytes from Two Tables Overwriting a Table"                                                             }
  {VPERMT2D                  "Full Permute from Two Tables Overwriting one Table"                                                                    }
  {VPERMT2PD                 "Full Permute from Two Tables Overwriting one Table"                                                                    }
  {VPERMT2PS                 "Full Permute from Two Tables Overwriting one Table"                                                                    }
  {VPERMT2Q                  "Full Permute from Two Tables Overwriting one Table"                                                                    }
  {VPERMT2W                  "Full Permute from Two Tables Overwriting one Table"                                                                    }
  {VPERMW                    "Permute Packed Doublewords/Words Elements"                                                                             }
  {VPEXPANDB                 "Expand Byte/Word Values"                                                                                               }
  {VPEXPANDD                 "Load Sparse Packed Doubleword Integer Values from Dense Memory / Register"                                             }
  {VPEXPANDQ                 "Load Sparse Packed Quadword Integer Values from Dense Memory / Register"                                               }
  {VPEXPANDW                 "Expand Byte/Word Values"                                                                                               }
  {VPGATHERDD                "Gather Packed Dword Values Using Signed Dword/Qword Indices"                                                           }
  {VPGATHERDQ                "Gather Packed Dword, Packed Qword with Signed Dword Indices"                                                           }
  {VPGATHERQD                "Gather Packed Dword Values Using Signed Dword/Qword Indices"                                                           }
  {VPGATHERQQ                "Gather Packed Qword Values Using Signed Dword/Qword Indices"                                                           }
  {VPLZCNTD                  "Count the Number of Leading Zero Bits for Packed Dword, Packed Qword Values"                                           }
  {VPLZCNTQ                  "Count the Number of Leading Zero Bits for Packed Dword, Packed Qword Values"                                           }
  {VPMADD52HUQ               "Packed Multiply of Unsigned 52-bit Unsigned Integers and Add High 52-bit Products to 64-bit Accumulators"              }
  {VPMADD52LUQ               "Packed Multiply of Unsigned 52-bit Integers and Add the Low 52-bit Products to Qword Accumulators"                     }
  {VPMASKMOV                 "Conditional SIMD Integer Packed Loads and Stores"                                                                      }
  {VPMOVB2M                  "Convert a Vector Register to a Mask"                                                                                   }
  {VPMOVD2M                  "Convert a Vector Register to a Mask"                                                                                   }
  {VPMOVDB                   "Down Convert DWord to Byte"                                                                                            }
  {VPMOVDW                   "Down Convert DWord to Word"                                                                                            }
  {VPMOVM2B                  "Convert a Mask Register to a Vector Register"                                                                          }
  {VPMOVM2D                  "Convert a Mask Register to a Vector Register"                                                                          }
  {VPMOVM2Q                  "Convert a Mask Register to a Vector Register"                                                                          }
  {VPMOVM2W                  "Convert a Mask Register to a Vector Register"                                                                          }
  {VPMOVQ2M                  "Convert a Vector Register to a Mask"                                                                                   }
  {VPMOVQB                   "Down Convert QWord to Byte"                                                                                            }
  {VPMOVQD                   "Down Convert QWord to DWord"                                                                                           }
  {VPMOVQW                   "Down Convert QWord to Word"                                                                                            }
  {VPMOVSDB                  "Down Convert DWord to Byte"                                                                                            }
  {VPMOVSDW                  "Down Convert DWord to Word"                                                                                            }
  {VPMOVSQB                  "Down Convert QWord to Byte"                                                                                            }
  {VPMOVSQD                  "Down Convert QWord to DWord"                                                                                           }
  {VPMOVSQW                  "Down Convert QWord to Word"                                                                                            }
  {VPMOVSWB                  "Down Convert Word to Byte"                                                                                             }
  {VPMOVUSDB                 "Down Convert DWord to Byte"                                                                                            }
  {VPMOVUSDW                 "Down Convert DWord to Word"                                                                                            }
  {VPMOVUSQB                 "Down Convert QWord to Byte"                                                                                            }
  {VPMOVUSQD                 "Down Convert QWord to DWord"                                                                                           }
  {VPMOVUSQW                 "Down Convert QWord to Word"                                                                                            }
  {VPMOVUSWB                 "Down Convert Word to Byte"                                                                                             }
  {VPMOVW2M                  "Convert a Vector Register to a Mask"                                                                                   }
  {VPMOVWB                   "Down Convert Word to Byte"                                                                                             }
  {VPMULTISHIFTQB            "Select Packed Unaligned Bytes from Quadword Sources"                                                                   }
  {VPOPCNT                   "Return the Count of Number of Bits Set to 1 in BYTE/WORD/DWORD/QWORD"                                                  }
  {VPROLD                    "Bit Rotate Left"                                                                                                       }
  {VPROLQ                    "Bit Rotate Left"                                                                                                       }
  {VPROLVD                   "Bit Rotate Left"                                                                                                       }
  {VPROLVQ                   "Bit Rotate Left"                                                                                                       }
  {VPRORD                    "Bit Rotate Right"                                                                                                      }
  {VPRORQ                    "Bit Rotate Right"                                                                                                      }
  {VPRORVD                   "Bit Rotate Right"                                                                                                      }
  {VPRORVQ                   "Bit Rotate Right"                                                                                                      }
  {VPSCATTERDD               "Scatter Packed Dword, Packed Qword with Signed Dword, Signed Qword Indices"                                            }
  {VPSCATTERDQ               "Scatter Packed Dword, Packed Qword with Signed Dword, Signed Qword Indices"                                            }
  {VPSCATTERQD               "Scatter Packed Dword, Packed Qword with Signed Dword, Signed Qword Indices"                                            }
  {VPSCATTERQQ               "Scatter Packed Dword, Packed Qword with Signed Dword, Signed Qword Indices"                                            }
  {VPSHLD                    "Concatenate and Shift Packed Data Left Logical"                                                                        }
  {VPSHLDV                   "Concatenate and Variable Shift Packed Data Left Logical"                                                               }
  {VPSHRD                    "Concatenate and Shift Packed Data Right Logical"                                                                       }
  {VPSHRDV                   "Concatenate and Variable Shift Packed Data Right Logical"                                                              }
  {VPSHUFBITQMB              "Shuffle Bits from Quadword Elements Using Byte Indexes into Mask"                                                      }
  {VPSLLVD                   "Variable Bit Shift Left Logical"                                                                                       }
  {VPSLLVQ                   "Variable Bit Shift Left Logical"                                                                                       }
  {VPSLLVW                   "Variable Bit Shift Left Logical"                                                                                       }
  {VPSRAVD                   "Variable Bit Shift Right Arithmetic"                                                                                   }
  {VPSRAVQ                   "Variable Bit Shift Right Arithmetic"                                                                                   }
  {VPSRAVW                   "Variable Bit Shift Right Arithmetic"                                                                                   }
  {VPSRLVD                   "Variable Bit Shift Right Logical"                                                                                      }
  {VPSRLVQ                   "Variable Bit Shift Right Logical"                                                                                      }
  {VPSRLVW                   "Variable Bit Shift Right Logical"                                                                                      }
  {VPTERNLOGD                "Bitwise Ternary Logic"                                                                                                 }
  {VPTERNLOGQ                "Bitwise Ternary Logic"                                                                                                 }
  {VPTESTMB                  "Logical AND and Set Mask"                                                                                              }
  {VPTESTMD                  "Logical AND and Set Mask"                                                                                              }
  {VPTESTMQ                  "Logical AND and Set Mask"                                                                                              }
  {VPTESTMW                  "Logical AND and Set Mask"                                                                                              }
  {VPTESTNMB                 "Logical NAND and Set"                                                                                                  }
  {VPTESTNMD                 "Logical NAND and Set"                                                                                                  }
  {VPTESTNMQ                 "Logical NAND and Set"                                                                                                  }
  {VPTESTNMW                 "Logical NAND and Set"                                                                                                  }
  {VRANGEPD                  "Range Restriction Calculation For Packed Pairs of Float64 Values"                                                      }
  {VRANGEPS                  "Range Restriction Calculation For Packed Pairs of Float32 Values"                                                      }
  {VRANGESD                  "Range Restriction Calculation From a pair of Scalar Float64 Values"                                                    }
  {VRANGESS                  "Range Restriction Calculation From a Pair of Scalar Float32 Values"                                                    }
  {VRCP14PD                  "Compute Approximate Reciprocals of Packed Float64 Values"                                                              }
  {VRCP14PS                  "Compute Approximate Reciprocals of Packed Float32 Values"                                                              }
  {VRCP14SD                  "Compute Approximate Reciprocal of Scalar Float64 Value"                                                                }
  {VRCP14SS                  "Compute Approximate Reciprocal of Scalar Float32 Value"                                                                }
  {VREDUCEPD                 "Perform Reduction Transformation on Packed Float64 Values"                                                             }
  {VREDUCEPS                 "Perform Reduction Transformation on Packed Float32 Values"                                                             }
  {VREDUCESD                 "Perform a Reduction Transformation on a Scalar Float64 Value"                                                          }
  {VREDUCESS                 "Perform a Reduction Transformation on a Scalar Float32 Value"                                                          }
  {VRNDSCALEPD               "Round Packed Float64 Values To Include A Given Number Of Fraction Bits"                                                }
  {VRNDSCALEPS               "Round Packed Float32 Values To Include A Given Number Of Fraction Bits"                                                }
  {VRNDSCALESD               "Round Scalar Float64 Value To Include A Given Number Of Fraction Bits"                                                 }
  {VRNDSCALESS               "Round Scalar Float32 Value To Include A Given Number Of Fraction Bits"                                                 }
  {VRSQRT14PD                "Compute Approximate Reciprocals of Square Roots of Packed Float64 Values"                                              }
  {VRSQRT14PS                "Compute Approximate Reciprocals of Square Roots of Packed Float32 Values"                                              }
  {VRSQRT14SD                "Compute Approximate Reciprocal of Square Root of Scalar Float64 Value"                                                 }
  {VRSQRT14SS                "Compute Approximate Reciprocal of Square Root of Scalar Float32 Value"                                                 }
  {VSCALEFPD                 "Scale Packed Float64 Values With Float64 Values"                                                                       }
  {VSCALEFPS                 "Scale Packed Float32 Values With Float32 Values"                                                                       }
  {VSCALEFSD                 "Scale Scalar Float64 Values With Float64 Values"                                                                       }
  {VSCALEFSS                 "Scale Scalar Float32 Value With Float32 Value"                                                                         }
  {VSCATTERDPD               "Scatter Packed Single, Packed Double with Signed Dword and Qword Indices"                                              }
  {VSCATTERDPS               "Scatter Packed Single, Packed Double with Signed Dword and Qword Indices"                                              }
  {VSCATTERQPD               "Scatter Packed Single, Packed Double with Signed Dword and Qword Indices"                                              }
  {VSCATTERQPS               "Scatter Packed Single, Packed Double with Signed Dword and Qword Indices"                                              }
  {VSHUFF32x4                "Shuffle Packed Values at 128-bit Granularity"                                                                          }
  {VSHUFF64x2                "Shuffle Packed Values at 128-bit Granularity"                                                                          }
  {VSHUFI32x4                "Shuffle Packed Values at 128-bit Granularity"                                                                          }
  {VSHUFI64x2                "Shuffle Packed Values at 128-bit Granularity"                                                                          }
  {VTESTPD                   "Packed Bit Test"                                                                                                       }
  {VTESTPS                   "Packed Bit Test"                                                                                                       }
  {VZEROALL                  "Zero XMM, YMM and ZMM Registers"                                                                                       }
  {VZEROUPPER                "Zero Upper Bits of YMM and ZMM Registers"                                                                              }
  {WAIT                      "Wait"                                                                                                                  }
  {WBINVD                    "Write Back and Invalidate Cache"                                                                                       }
  {WBNOINVD                  "Write Back and Do Not Invalidate Cache"                                                                                }
  {WRFSBASE                  "Write FS/GS Segment Base"                                                                                              }
  {WRGSBASE                  "Write FS/GS Segment Base"                                                                                              }
  {WRMSR                     "Write to Model Specific Register"                                                                                      }
  {WRPKRU                    "Write Data to User Page Key Register"                                                                                  }
  {WRSSD                     "Write to Shadow Stack"                                                                                                 }
  {WRSSQ                     "Write to Shadow Stack"                                                                                                 }
  {WRUSSD                    "Write to User Shadow Stack"                                                                                            }
  {WRUSSQ                    "Write to User Shadow Stack"                                                                                            }
  {XABORT                    "Transactional Abort"                                                                                                   }
  {XACQUIRE                  "Hardware Lock Elision Prefix Hints"                                                                                    }
  {XADD                      "Exchange and Add"                                                                                                      }
  {XBEGIN                    "Transactional Begin"                                                                                                   }
  {XCHG                      "Exchange Register/Memory with Register"                                                                                }
  {XEND                      "Transactional End"                                                                                                     }
  {XGETBV                    "Get Value of Extended Control Register"                                                                                }
  {XLAT                      "Table Look-up Translation"                                                                                             }
  {XLATB                     "Table Look-up Translation"                                                                                             }
  {XOR                       "Logical Exclusive OR"                                                                                                  }
  {XORPD                     "Bitwise Logical XOR of Packed Double Precision Floating-Point Values"                                                  }
  {XORPS                     "Bitwise Logical XOR of Packed Single Precision Floating-Point Values"                                                  }
  {XRELEASE                  "Hardware Lock Elision Prefix Hints"                                                                                    }
  {XRSTOR                    "Restore Processor Extended States"                                                                                     }
  {XRSTORS                   "Restore Processor Extended States Supervisor"                                                                          }
  {XSAVE                     "Save Processor Extended States"                                                                                        }
  {XSAVEC                    "Save Processor Extended States with Compaction"                                                                        }
  {XSAVEOPT                  "Save Processor Extended States Optimized"                                                                              }
  {XSAVES                    "Save Processor Extended States Supervisor"                                                                             }
  {XSETBV                    "Set Extended Control Register"                                                                                         }
  {XTEST                     "Test If In Transactional Execution"                                                                                    }
  
  //- rjf: sgx
  {ENCLS                     "Execute an Enclave System Function of Specified Leaf Number"                                                           }
  {ENCLS                     "[EADD] Add a Page to an Uninitialized Enclave"                                                                         }
  {ENCLS                     "[EAUG] Add a Page to an Initialized Enclave"                                                                           }
  {ENCLS                     "[EBLOCK] Mark a page in EPC as Blocked"                                                                                }
  {ENCLS                     "[ECREATE] Create an SECS page in the Enclave Page Cache"                                                               }
  {ENCLS                     "[EDBGRD] Read From a Debug Enclave"                                                                                    }
  {ENCLS                     "[EDBGWR] Write to a Debug Enclave"                                                                                     }
  {ENCLS                     "[EEXTEND] Extend Uninitialized Enclave Measurement by 256 Bytes"                                                       }
  {ENCLS                     "[EINIT] Initialize an Enclave for Execution"                                                                           }
  {ENCLS                     "[ELDBC] Load an EPC Page and Mark its State"                                                                           }
  {ENCLS                     "[ELDB] Load an EPC Page and Mark its State"                                                                            }
  {ENCLS                     "[ELDUC] Load an EPC Page and Mark its State"                                                                           }
  {ENCLS                     "[ELDU] Load an EPC Page and Mark its State"                                                                            }
  {ENCLS                     "[EMODPR] Restrict the Permissions of an EPC Page"                                                                      }
  {ENCLS                     "[EMODT] Change the Type of an EPC Page"                                                                                }
  {ENCLS                     "[EPA] Add Version Array"                                                                                               }
  {ENCLS                     "[ERDINFO] Read Type and Status Information About an EPC Page"                                                          }
  {ENCLS                     "[EREMOVE] Remove a page from the EPC"                                                                                  }
  {ENCLS                     "[ETRACKC] Activates EBLOCK Checks"                                                                                     }
  {ENCLS                     "[ETRACK] Activates EBLOCK Checks"                                                                                      }
  {ENCLS                     "[EWB] Invalidate an EPC Page and Write out to Main Memory"                                                             }
  {ENCLU                     "Execute an Enclave User Function of Specified Leaf Number"                                                             }
  {ENCLU                     "[EACCEPTCOPY] Initialize a Pending Page"                                                                               }
  {ENCLU                     "[EACCEPT] Accept Changes to an EPC Page"                                                                               }
  {ENCLU                     "[EENTER] Enters an Enclave"                                                                                            }
  {ENCLU                     "[EEXIT] Exits an Enclave"                                                                                              }
  {ENCLU                     "[EGETKEY] Retrieves a Cryptographic Key"                                                                               }
  {ENCLU                     "[EMODPE] Extend an EPC Page Permissions"                                                                               }
  {ENCLU                     "[EREPORT] Create a Cryptographic Report of the Enclave"                                                                }
  {ENCLU                     "[ERESUME] Re-Enters an Enclave"                                                                                        }
  {ENCLV                     "Execute an Enclave VMM Function of Specified Leaf Number"                                                              }
  
  //- rjf: vmx
  {INVEPT                    "Invalidate Translations Derived from EPT"                                                                              }
  {INVVPID                   "Invalidate Translations Based on VPID"                                                                                 }
  {VMCALL                    "Call to VM Monitor"                                                                                                    }
  {VMCLEAR                   "Clear Virtual-Machine Control Structure"                                                                               }
  {VMFUNC                    "Invoke VM function"                                                                                                    }
  {VMLAUNCH                  "Launch/Resume Virtual Machine"                                                                                         }
  {VMPTRLD                   "Load Pointer to Virtual-Machine Control Structure"                                                                     }
  {VMPTRST                   "Store Pointer to Virtual-Machine Control Structure"                                                                    }
  {VMREAD                    "Read Field from Virtual-Machine Control Structure"                                                                     }
  {VMRESUME                  "Launch/Resume Virtual Machine"                                                                                         }
  {VMWRITE                   "Write Field to Virtual-Machine Control Structure"                                                                      }
  {VMXOFF                    "Leave VMX Operation"                                                                                                   }
  {VMXON                     "Enter VMX Operation"                                                                                                   }
  
  //- rjf: xeon phi
  {PREFETCHWT1               "Prefetch Vector Data Into Caches with Intent to Write and T1 Hint"                                                     }
  {V4FMADDPS                 "Packed Single-Precision Floating-Point Fused Multiply-Add (4-iterations)"                                              }
  {V4FMADDSS                 "Scalar Single-Precision Floating-Point Fused Multiply-Add (4-iterations)"                                              }
  {V4FNMADDPS                "Packed Single-Precision Floating-Point Fused Multiply-Add (4-iterations)"                                              }
  {V4FNMADDSS                "Scalar Single-Precision Floating-Point Fused Multiply-Add (4-iterations)"                                              }
  {VEXP2PD                   "Approximation to the Exponential 2^x of Packed Double-Precision Floating-Point Values with Less Than 2^-23 Relative Error"}
  {VEXP2PS                   "Approximation to the Exponential 2^x of Packed Single-Precision Floating-Point Values with Less Than 2^-23 Relative Error"}
  {VGATHERPF0DPD             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint"                        }
  {VGATHERPF0DPS             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint"                        }
  {VGATHERPF0QPD             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint"                        }
  {VGATHERPF0QPS             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint"                        }
  {VGATHERPF1DPD             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint"                        }
  {VGATHERPF1DPS             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint"                        }
  {VGATHERPF1QPD             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint"                        }
  {VGATHERPF1QPS             "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint"                        }
  {VP4DPWSSD                 "Dot Product of Signed Words with Dword Accumulation (4-iterations)"                                                    }
  {VP4DPWSSDS                "Dot Product of Signed Words with Dword Accumulation and Saturation (4-iterations)"                                     }
  {VRCP28PD                  "Approximation to the Reciprocal of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error"  }
  {VRCP28PS                  "Approximation to the Reciprocal of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error"  }
  {VRCP28SD                  "Approximation to the Reciprocal of Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error"   }
  {VRCP28SS                  "Approximation to the Reciprocal of Scalar Single-Precision Floating-Point Value with Less Than 2^-28 Relative Error"   }
  {VRSQRT28PD                "Approximation to the Reciprocal Square Root of Packed Double-Precision Floating-Point Values with Less Than 2^-28 Relative Error"}
  {VRSQRT28PS                "Approximation to the Reciprocal Square Root of Packed Single-Precision Floating-Point Values with Less Than 2^-28 Relative Error"}
  {VRSQRT28SD                "Approximation to the Reciprocal Square Root of Scalar Double-Precision Floating-Point Value with Less Than 2^-28 Relative Error"}
  {VRSQRT28SS                "Approximation to the Reciprocal Square Root of Scalar Single-Precision Floating- Point Value with Less Than 2^-28 Relative Error"}
  {VSCATTERPF0DPD            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint with Intent to Write"   }
  {VSCATTERPF0DPS            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint with Intent to Write"   }
  {VSCATTERPF0QPD            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint with Intent to Write"   }
  {VSCATTERPF0QPS            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint with Intent to Write"   }
  {VSCATTERPF1DPD            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint with Intent to Write"   }
  {VSCATTERPF1DPS            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint with Intent to Write"   }
  {VSCATTERPF1QPD            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint with Intent to Write"   }
  {VSCATTERPF1QPS            "Sparse Prefetch Packed SP/DP Data Values with Signed Dword, Signed Qword Indices Using T1 Hint with Intent to Write"   }
  
}

////////////////////////////////
//~ rjf: Developer Toggles

@table(name)
DF_DevToggleTable:
{
  {telemetry_capture}
  {simulate_lag}
  {draw_ui_text_pos}
  {draw_ui_focus_debug}
  {draw_ui_box_heatmap}
  {eval_compiler_tooltips}
  {eval_watch_key_tooltips}
  {cmd_context_tooltips}
  {scratch_mouse_draw}
  {updating_indicator}
}

////////////////////////////////
//~ rjf: Generators

//- rjf: enums

@enum DF_CfgSrc:
{
  @expand(DF_CfgSrcTable a) `$(a.name)`,
  COUNT,
}

@enum DF_EntityKind:
{
  @expand(DF_EntityKindTable a) `$(a.name)`,
  COUNT,
}

@enum DF_CoreCmdKind:
{
  @expand(DF_CoreCmdTable, a) `$(a.name)`,
  COUNT,
}

@enum DF_IconKind:
{
  @expand(DF_IconTable a) `$(a.name)`,
  COUNT,
}

@enum DF_CoreViewRuleKind:
{
  @expand(DF_CoreViewRuleTable a) `$(a.name)`,
  COUNT,
}

//- rjf: command params

@enum DF_CmdParamSlot:
{
  Null,
  @expand(DF_CmdParamSlotTable a) `$(a.name)`,
  COUNT,
}

@struct DF_CmdParams:
{
  `U64 slot_props[(DF_CmdParamSlot_COUNT + 63) / 64]`;
  @expand(DF_CmdParamSlotTable a) `$(a.c_type) $(a.name_lower)`;
}

@data(Rng1U64) df_g_cmd_param_slot_range_table:
{
  `{0}`,
  @expand(DF_CmdParamSlotTable a) `{OffsetOf(DF_CmdParams, $(a.name_lower)), OffsetOf(DF_CmdParams, $(a.name_lower)) + sizeof($(a.c_type))}`,
}

//- rjf: entity kind tables

@data(DF_IconKind) df_g_entity_kind_icon_kind_table:
{
  @expand(DF_EntityKindTable a) `DF_IconKind_$(a.icon_kind)`,
}

@data(String8) df_g_entity_kind_display_string_table:
{
  @expand(DF_EntityKindTable a) `str8_lit_comp("$(a.display_string)")`,
}

@data(String8) df_g_entity_kind_name_label_table:
{
  @expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_label)")`,
}

@data(DF_EntityKindFlags) df_g_entity_kind_flags_table:
{
  @expand(DF_EntityKindTable a) `($(a.lf_mut_user_cfg)*DF_EntityKindFlag_LeafMutationUserConfig | $(a.lf_mut_prof_cfg)*DF_EntityKindFlag_LeafMutationProjectConfig | $(a.lf_mut_halt)*DF_EntityKindFlag_LeafMutationSoftHalt | $(a.lf_mut_dbg)*DF_EntityKindFlag_LeafMutationDebugInfoMap | $(a.tr_mut_user_cfg)*DF_EntityKindFlag_TreeMutationUserConfig | $(a.tr_mut_prof_cfg)*DF_EntityKindFlag_TreeMutationProjectConfig | $(a.tr_mut_halt)*DF_EntityKindFlag_TreeMutationSoftHalt | $(a.tr_mut_dbg)*DF_EntityKindFlag_TreeMutationDebugInfoMap | $(a.name_is_code)*DF_EntityKindFlag_NameIsCode | $(a.user_lifetime)*DF_EntityKindFlag_UserDefinedLifetime)`,
}

@data(DF_EntityOpFlags) df_g_entity_kind_op_flags_table:
{
  @expand(DF_EntityKindTable a) `($(a.op_delete)*DF_EntityOpFlag_Delete) | ($(a.op_freeze)*DF_EntityOpFlag_Freeze) | ($(a.op_edit)*DF_EntityOpFlag_Edit) | ($(a.op_rename)*DF_EntityOpFlag_Rename) | ($(a.op_enable)*DF_EntityOpFlag_Enable) | ($(a.op_cond)*DF_EntityOpFlag_Condition) | ($(a.op_dup)*DF_EntityOpFlag_Duplicate)`,
}

//- rjf: config source tables

@data(String8) df_g_cfg_src_string_table:
{
  @expand(DF_CfgSrcTable a) `str8_lit_comp("$(a.string)")`,
}

@data(DF_CoreCmdKind) df_g_cfg_src_load_cmd_kind_table:
{
  @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.load_cmd)`,
}

@data(DF_CoreCmdKind) df_g_cfg_src_write_cmd_kind_table:
{
  @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.write_cmd)`,
}

@data(DF_CoreCmdKind) df_g_cfg_src_apply_cmd_kind_table:
{
  @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.apply_cmd)`;
}

//- rjf: core view rule function prototypes

@gen
{
  @expand(DF_CoreViewRuleTable a) `$(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(" .. a.name_lower .. ");")`;
  @expand(DF_CoreViewRuleTable a) `$(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
}

//- rjf: core command kind tables

@data(DF_CmdSpecInfo) @c_file df_g_core_cmd_kind_spec_info_table:
{
  @expand(DF_CoreCmdTable, a)
    ```{ str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), str8_lit_comp("$(a.display_name)"), (DF_CmdSpecFlag_OmitFromLists*$(a.lister_omit)), {DF_CmdParamSlot_$(a.q_slot), DF_EntityKind_$(a.q_ent_kind), (DF_CmdQueryFlag_AllowFiles*$(a.q_allow_files))|(DF_CmdQueryFlag_AllowFolders*$(a.q_allow_folders))|(DF_CmdQueryFlag_CodeInput*$(a.q_is_code))|(DF_CmdQueryFlag_KeepOldInput*$(a.q_keep_oi))|(DF_CmdQueryFlag_SelectOldInput*$(a.q_select_oi))|(DF_CmdQueryFlag_Required*$(a.q_required))}, DF_IconKind_$(a.canonical_icon)}```;
}

//- rjf: core view rule tables

@data(DF_CoreViewRuleSpecInfo) @c_file df_g_core_view_rule_spec_info_table:
{
  @expand(DF_CoreViewRuleTable a)
    ```{str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.schema)"), str8_lit_comp("$(a.description)"), (DF_CoreViewRuleSpecInfoFlag_Inherited*$(a.ih == "x"))|(DF_CoreViewRuleSpecInfoFlag_Expandable*$(a.ex == "x"))|(DF_CoreViewRuleSpecInfoFlag_EvalResolution*$(a.er == "x"))|(DF_CoreViewRuleSpecInfoFlag_VizBlockProd*$(a.vb == "x")), $(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_NAME("..a.name_lower..")") $(a.er != "x" -> 0), $(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vb != "x" -> 0), }```;
}

//- rjf: icon kinds

@data(String8) df_g_icon_kind_text_table:
{
  @expand(DF_IconTable a) `str8_lit_comp("$(a.text)")`;
}

//- rjf: instruction metadata table

@gen
{
  ``;
  `struct{String8 mnemonic; String8 summary;} df_g_inst_table_x64[] =`;
  `{`;
    @expand(DF_InstTableX64 a) `{str8_lit_comp("$(a.name)"), str8_lit_comp("$(a.summary)")},`;
    `};`;
  ``;
}

//- rjf: developer toggles

@gen
{
  @expand(DF_DevToggleTable a) `global B32 DEV_$(a.name) = 0;`
}

@gen
{
  `struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =`;
  `{`;
    @expand(DF_DevToggleTable a) `{&DEV_$(a.name), str8_lit_comp("$(a.name)")},`
      `};`;
}
