| <feature name="org.gnu.gdb.aarch64.fpu"> | 
 |  | 
 |   <!-- source: binutils-gdb/blob/master/gdb/features/aarch64-fpu.xml --> | 
 |  | 
 |   <!-- Copyright (C) 2009-2022 Free Software Foundation, Inc. | 
 |        Contributed by ARM Ltd. | 
 |        Copying and distribution of this file, with or without modification, | 
 |        are permitted in any medium without royalty provided the copyright | 
 |        notice and this notice are preserved.  --> | 
 |  | 
 |   <vector id="v2d" type="ieee_double" count="2"/> | 
 |   <vector id="v2u" type="uint64" count="2"/> | 
 |   <vector id="v2i" type="int64" count="2"/> | 
 |   <vector id="v4f" type="ieee_single" count="4"/> | 
 |   <vector id="v4u" type="uint32" count="4"/> | 
 |   <vector id="v4i" type="int32" count="4"/> | 
 |   <vector id="v8f" type="ieee_half" count="8"/> | 
 |   <vector id="v8u" type="uint16" count="8"/> | 
 |   <vector id="v8i" type="int16" count="8"/> | 
 |   <vector id="v8bf16" type="bfloat16" count="8"/> | 
 |   <vector id="v16u" type="uint8" count="16"/> | 
 |   <vector id="v16i" type="int8" count="16"/> | 
 |   <vector id="v1u" type="uint128" count="1"/> | 
 |   <vector id="v1i" type="int128" count="1"/> | 
 |   <union id="vnd"> | 
 |     <field name="f" type="v2d"/> | 
 |     <field name="u" type="v2u"/> | 
 |     <field name="s" type="v2i"/> | 
 |   </union> | 
 |   <union id="vns"> | 
 |     <field name="f" type="v4f"/> | 
 |     <field name="u" type="v4u"/> | 
 |     <field name="s" type="v4i"/> | 
 |   </union> | 
 |   <union id="vnh"> | 
 |     <field name="bf" type="v8bf16"/> | 
 |     <field name="f" type="v8f"/> | 
 |     <field name="u" type="v8u"/> | 
 |     <field name="s" type="v8i"/> | 
 |   </union> | 
 |   <union id="vnb"> | 
 |     <field name="u" type="v16u"/> | 
 |     <field name="s" type="v16i"/> | 
 |   </union> | 
 |   <union id="vnq"> | 
 |     <field name="u" type="v1u"/> | 
 |     <field name="s" type="v1i"/> | 
 |   </union> | 
 |   <union id="aarch64v"> | 
 |     <field name="d" type="vnd"/> | 
 |     <field name="s" type="vns"/> | 
 |     <field name="h" type="vnh"/> | 
 |     <field name="b" type="vnb"/> | 
 |     <field name="q" type="vnq"/> | 
 |   </union> | 
 |   <reg name="v0" bitsize="128" type="aarch64v" regnum="34"/> | 
 |   <reg name="v1" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v2" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v3" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v4" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v5" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v6" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v7" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v8" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v9" bitsize="128" type="aarch64v" /> | 
 |   <reg name="v10" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v11" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v12" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v13" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v14" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v15" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v16" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v17" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v18" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v19" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v20" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v21" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v22" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v23" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v24" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v25" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v26" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v27" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v28" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v29" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v30" bitsize="128" type="aarch64v"/> | 
 |   <reg name="v31" bitsize="128" type="aarch64v"/> | 
 |  | 
 |   <flags id="fpsr_flags" size="4"> | 
 |     <!-- Invalid Operation cumulative floating-point exception bit.  --> | 
 |     <field name="IOC" start="0" end="0"/> | 
 |     <!-- Divide by Zero cumulative floating-point exception bit.  --> | 
 |     <field name="DZC" start="1" end="1"/> | 
 |     <!-- Overflow cumulative floating-point exception bit.  --> | 
 |     <field name="OFC" start="2" end="2"/> | 
 |     <!-- Underflow cumulative floating-point exception bit.  --> | 
 |     <field name="UFC" start="3" end="3"/> | 
 |     <!-- Inexact cumulative floating-point exception bit..  --> | 
 |     <field name="IXC" start="4" end="4"/> | 
 |     <!-- Input Denormal cumulative floating-point exception bit.  --> | 
 |     <field name="IDC" start="7" end="7"/> | 
 |     <!-- Cumulative saturation bit, Advanced SIMD only.  --> | 
 |     <field name="QC" start="27" end="27"/> | 
 |     <!-- When AArch32 is supported at any Exception level and AArch32 | 
 |          floating-point is implemented: Overflow condition flag for AArch32 | 
 |          floating-point comparison operations.  --> | 
 |     <field name="V" start="28" end="28"/> | 
 |     <!-- When AArch32 is supported at any Exception level and AArch32 | 
 |          floating-point is implemented: | 
 |          Carry condition flag for AArch32 floating-point comparison operations. | 
 |          --> | 
 |     <field name="C" start="29" end="29"/> | 
 |     <!-- When AArch32 is supported at any Exception level and AArch32 | 
 |          floating-point is implemented: | 
 |          Zero condition flag for AArch32 floating-point comparison operations. | 
 |          --> | 
 |     <field name="Z" start="30" end="30"/> | 
 |     <!-- When AArch32 is supported at any Exception level and AArch32 | 
 |          floating-point is implemented: | 
 |          Negative condition flag for AArch32 floating-point comparison | 
 |          operations.  --> | 
 |     <field name="N" start="31" end="31"/> | 
 |   </flags> | 
 |   <reg name="fpsr" bitsize="32" type="fpsr_flags"/> | 
 |  | 
 |   <flags id="fpcr_flags" size="4"> | 
 |     <!-- Flush Inputs to Zero (part of Armv8.7).  --> | 
 |     <field name="FIZ" start="0" end="0"/> | 
 |     <!-- Alternate Handling (part of Armv8.7).  --> | 
 |     <field name="AH" start="1" end="1"/> | 
 |     <!-- Controls how the output elements other than the lowest element of the | 
 |          vector are determined for Advanced SIMD scalar instructions (part of | 
 |          Armv8.7).  --> | 
 |     <field name="NEP" start="2" end="2"/> | 
 |     <!-- Invalid Operation floating-point exception trap enable.  --> | 
 |     <field name="IOE" start="8" end="8"/> | 
 |     <!-- Divide by Zero floating-point exception trap enable.  --> | 
 |     <field name="DZE" start="9" end="9"/> | 
 |     <!-- Overflow floating-point exception trap enable.  --> | 
 |     <field name="OFE" start="10" end="10"/> | 
 |     <!-- Underflow floating-point exception trap enable.  --> | 
 |     <field name="UFE" start="11" end="11"/> | 
 |     <!-- Inexact floating-point exception trap enable.  --> | 
 |     <field name="IXE" start="12" end="12"/> | 
 |     <!-- Input Denormal floating-point exception trap enable.  --> | 
 |     <field name="IDE" start="15" end="15"/> | 
 |     <!-- Flush-to-zero mode control bit on half-precision data-processing | 
 |          instructions.  --> | 
 |     <field name="FZ16" start="19" end="19"/> | 
 |     <!-- Rounding Mode control field.  --> | 
 |     <field name="RMode" start="22" end="23"/> | 
 |     <!-- Flush-to-zero mode control bit.  --> | 
 |     <field name="FZ" start="24" end="24"/> | 
 |     <!-- Default NaN mode control bit.  --> | 
 |     <field name="DN" start="25" end="25"/> | 
 |     <!-- Alternative half-precision control bit.  --> | 
 |     <field name="AHP" start="26" end="26"/> | 
 |   </flags> | 
 |   <reg name="fpcr" bitsize="32" type="fpcr_flags"/> | 
 | </feature> |