hexagon-hvx.xml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?xml version="1.0"?>
  2. <!--
  3. Copyright(c) 2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
  4. This work is licensed under the terms of the GNU GPL, version 2 or
  5. (at your option) any later version. See the COPYING file in the
  6. top-level directory.
  7. Note: this file is intended to be use with LLDB, so it contains fields
  8. that may be unknown to GDB. For more information on such fields, please
  9. see:
  10. https://github.com/llvm/llvm-project/blob/287aa6c4536408413b860e61fca0318a27214cf3/lldb/docs/lldb-gdb-remote.txt#L738-L860
  11. https://github.com/llvm/llvm-project/blob/287aa6c4536408413b860e61fca0318a27214cf3/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp#L4275-L4335
  12. -->
  13. <!DOCTYPE feature SYSTEM "gdb-target.dtd">
  14. <feature name="org.gnu.gdb.hexagon.hvx">
  15. <vector id="vud" type="uint64" count="16"/>
  16. <vector id="vd" type="int64" count="16"/>
  17. <vector id="vuw" type="uint32" count="32"/>
  18. <vector id="vw" type="int32" count="32"/>
  19. <vector id="vuh" type="uint16" count="64"/>
  20. <vector id="vh" type="int16" count="64"/>
  21. <vector id="vub" type="uint8" count="128"/>
  22. <vector id="vb" type="int8" count="128"/>
  23. <union id="hex_vec">
  24. <field name="ud" type="vud"/>
  25. <field name="d" type="vd"/>
  26. <field name="uw" type="vuw"/>
  27. <field name="w" type="vw"/>
  28. <field name="uh" type="vuh"/>
  29. <field name="h" type="vh"/>
  30. <field name="ub" type="vub"/>
  31. <field name="b" type="vb"/>
  32. </union>
  33. <flags id="ui2" size="1">
  34. <field name="0" start="0" end="0"/>
  35. <field name="1" start="1" end="1"/>
  36. </flags>
  37. <flags id="ui4" size="1">
  38. <field name="0" start="0" end="0"/>
  39. <field name="1" start="1" end="1"/>
  40. <field name="2" start="2" end="2"/>
  41. <field name="3" start="3" end="3"/>
  42. </flags>
  43. <vector id="vpd" type="uint8" count="16"/>
  44. <vector id="vpw" type="ui4" count="32"/>
  45. <vector id="vph" type="ui2" count="64"/>
  46. <vector id="vpb" type="bool" count="128"/>
  47. <union id="hex_vec_pred">
  48. <field name="d" type="vpd"/>
  49. <field name="w" type="vpw"/>
  50. <field name="h" type="vph"/>
  51. <field name="b" type="vpb"/>
  52. </union>
  53. <reg name="v0" bitsize="1024" offset="256" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="88"/>
  54. <reg name="v1" bitsize="1024" offset="384" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="89"/>
  55. <reg name="v2" bitsize="1024" offset="512" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="90"/>
  56. <reg name="v3" bitsize="1024" offset="640" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="91"/>
  57. <reg name="v4" bitsize="1024" offset="768" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="92"/>
  58. <reg name="v5" bitsize="1024" offset="896" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="93"/>
  59. <reg name="v6" bitsize="1024" offset="1024" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="94"/>
  60. <reg name="v7" bitsize="1024" offset="1152" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="95"/>
  61. <reg name="v8" bitsize="1024" offset="1280" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="96"/>
  62. <reg name="v9" bitsize="1024" offset="1408" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="97"/>
  63. <reg name="v10" bitsize="1024" offset="1536" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="98"/>
  64. <reg name="v11" bitsize="1024" offset="1664" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="99"/>
  65. <reg name="v12" bitsize="1024" offset="1792" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="100"/>
  66. <reg name="v13" bitsize="1024" offset="1920" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="101"/>
  67. <reg name="v14" bitsize="1024" offset="2048" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="102"/>
  68. <reg name="v15" bitsize="1024" offset="2176" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="103"/>
  69. <reg name="v16" bitsize="1024" offset="2304" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="104"/>
  70. <reg name="v17" bitsize="1024" offset="2432" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="105"/>
  71. <reg name="v18" bitsize="1024" offset="2560" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="106"/>
  72. <reg name="v19" bitsize="1024" offset="2688" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="107"/>
  73. <reg name="v20" bitsize="1024" offset="2816" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="108"/>
  74. <reg name="v21" bitsize="1024" offset="2944" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="109"/>
  75. <reg name="v22" bitsize="1024" offset="3072" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="110"/>
  76. <reg name="v23" bitsize="1024" offset="3200" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="111"/>
  77. <reg name="v24" bitsize="1024" offset="3328" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="112"/>
  78. <reg name="v25" bitsize="1024" offset="3456" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="113"/>
  79. <reg name="v26" bitsize="1024" offset="3584" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="114"/>
  80. <reg name="v27" bitsize="1024" offset="3712" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="115"/>
  81. <reg name="v28" bitsize="1024" offset="3840" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="116"/>
  82. <reg name="v29" bitsize="1024" offset="3968" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="117"/>
  83. <reg name="v30" bitsize="1024" offset="4096" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="118"/>
  84. <reg name="v31" bitsize="1024" offset="4224" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="119"/>
  85. <reg name="q0" bitsize="128" offset="4352" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="120"/>
  86. <reg name="q1" bitsize="128" offset="4368" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="121"/>
  87. <reg name="q2" bitsize="128" offset="4384" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="122"/>
  88. <reg name="q3" bitsize="128" offset="4400" encoding="vector" format="hex" group="HVX Vector Registers" dwarf_regnum="123"/>
  89. </feature>