<?xml version="1.0"?>
<target>
  <architecture>csky</architecture>
  <feature name="org.gnu.csky.abiv1.gpr">
    <reg name="r0"  bitsize="32" regnum="0"  group="gpr"/>
    <reg name="r1"  bitsize="32" regnum="1"  group="gpr"/>
    <reg name="r2"  bitsize="32" regnum="2"  group="gpr"/>
    <reg name="r3"  bitsize="32" regnum="3"  group="gpr"/>
    <reg name="r4"  bitsize="32" regnum="4"  group="gpr"/>
    <reg name="r5"  bitsize="32" regnum="5"  group="gpr"/>
    <reg name="r6"  bitsize="32" regnum="6"  group="gpr"/>
    <reg name="r7"  bitsize="32" regnum="7"  group="gpr"/>
    <reg name="r8"  bitsize="32" regnum="8"  group="gpr"/>
    <reg name="r9"  bitsize="32" regnum="9"  group="gpr"/>
    <reg name="r10" bitsize="32" regnum="10" group="gpr"/>
    <reg name="r11" bitsize="32" regnum="11" group="gpr"/>
    <reg name="r12" bitsize="32" regnum="12" group="gpr"/>
    <reg name="r13" bitsize="32" regnum="13" group="gpr"/>
    <reg name="r14" bitsize="32" regnum="14" group="gpr"/>
    <reg name="r15" bitsize="32" regnum="15" group="gpr"/>
    <reg name="hi"  bitsize="32" regnum="20"/>
    <reg name="lo"  bitsize="32" regnum="21"/>
    <reg name="pc"  bitsize="32" regnum="72"/>
  </feature>
  <feature name="org.gnu.csky.abiv1.fpu">
	<reg name="cp1gr0"  bitsize="32" regnum="24" group="fpu"/>
	<reg name="cp1gr1"  bitsize="32" regnum="25" group="fpu"/>
	<reg name="cp1gr2"  bitsize="32" regnum="26" group="fpu"/>
	<reg name="cp1gr3"  bitsize="32" regnum="27" group="fpu"/>
	<reg name="cp1gr4"  bitsize="32" regnum="28" group="fpu"/>
	<reg name="cp1gr5"  bitsize="32" regnum="29" group="fpu"/>
	<reg name="cp1gr6"  bitsize="32" regnum="30" group="fpu"/>
	<reg name="cp1gr7"  bitsize="32" regnum="31" group="fpu"/>
	<reg name="cp1gr8"  bitsize="32" regnum="32" group="fpu"/>
	<reg name="cp1gr9"  bitsize="32" regnum="33" group="fpu"/>
	<reg name="cp1gr10" bitsize="32" regnum="34" group="fpu"/>
	<reg name="cp1gr11" bitsize="32" regnum="35" group="fpu"/>
	<reg name="cp1gr12" bitsize="32" regnum="36" group="fpu"/>
	<reg name="cp1gr13" bitsize="32" regnum="37" group="fpu"/>
	<reg name="cp1gr14" bitsize="32" regnum="38" group="fpu"/>
	<reg name="cp1gr15" bitsize="32" regnum="39" group="fpu"/>
	<reg name="cp1gr16" bitsize="32" regnum="40" group="fpu"/>
	<reg name="cp1gr17" bitsize="32" regnum="41" group="fpu"/>
	<reg name="cp1gr18" bitsize="32" regnum="42" group="fpu"/>
	<reg name="cp1gr19" bitsize="32" regnum="43" group="fpu"/>
	<reg name="cp1gr20" bitsize="32" regnum="44" group="fpu"/>
	<reg name="cp1gr21" bitsize="32" regnum="45" group="fpu"/>
	<reg name="cp1gr22" bitsize="32" regnum="46" group="fpu"/>
	<reg name="cp1gr23" bitsize="32" regnum="47" group="fpu"/>
	<reg name="cp1gr24" bitsize="32" regnum="48" group="fpu"/>
	<reg name="cp1gr25" bitsize="32" regnum="49" group="fpu"/>
	<reg name="cp1gr26" bitsize="32" regnum="50" group="fpu"/>
	<reg name="cp1gr27" bitsize="32" regnum="51" group="fpu"/>
	<reg name="cp1gr28" bitsize="32" regnum="52" group="fpu"/>
	<reg name="cp1gr29" bitsize="32" regnum="53" group="fpu"/>
	<reg name="cp1gr30" bitsize="32" regnum="54" group="fpu"/>
	<reg name="cp1gr31" bitsize="32" regnum="55" group="fpu"/>
  </feature>
  <feature name="org.gnu.csky.abiv1.gar">
	<reg name="ar0"  bitsize="32" regnum="73" group="gar"/>
	<reg name="ar1"  bitsize="32" regnum="74" group="gar"/>
	<reg name="ar2"  bitsize="32" regnum="75" group="gar"/>
	<reg name="ar3"  bitsize="32" regnum="76" group="gar"/>
	<reg name="ar4"  bitsize="32" regnum="77" group="gar"/>
	<reg name="ar5"  bitsize="32" regnum="78" group="gar"/>
	<reg name="ar6"  bitsize="32" regnum="79" group="gar"/>
	<reg name="ar7"  bitsize="32" regnum="80" group="gar"/>
	<reg name="ar8"  bitsize="32" regnum="81" group="gar"/>
	<reg name="ar9"  bitsize="32" regnum="82" group="gar"/>
	<reg name="ar10" bitsize="32" regnum="83" group="gar"/>
	<reg name="ar11" bitsize="32" regnum="84" group="gar"/>
	<reg name="ar12" bitsize="32" regnum="85" group="gar"/>
	<reg name="ar13" bitsize="32" regnum="86" group="gar"/>
	<reg name="ar14" bitsize="32" regnum="87" group="gar"/>
	<reg name="ar15" bitsize="32" regnum="88" group="gar"/>
  </feature>
  <feature name="org.gnu.csky.abiv1.cr">
    <flags id="ckcpu_psr" size="4">
	  <field name="C"         start="0"  end="0"  type="int8"/>
	  <field name="AF"        start="1"  end="1"  type="int8"/>
	  <field name="FE"        start="4"  end="4"  type="int8"/>
	  <field name="IE"        start="6"  end="6"  type="int8"/>
	  <field name="IC"        start="7"  end="7"  type="int8"/>
	  <field name="EE"        start="8"  end="8"  type="int8"/>
	  <field name="MM"        start="9"  end="9"  type="int8"/>
	  <field name="TE"        start="12" end="12" type="int8"/>
	  <field name="TP"        start="13" end="13" type="int8"/>
	  <field name="TM[1:0]"   start="14" end="15" type="int8"/>
	  <field name="VEC[7:0]"  start="16" end="23" type="int8"/>
	  <field name="CPID[3:0]" start="24" end="27" type="int8"/>
	  <field name="S"         start="31" end="31" type="int8"/>
	</flags>
    <reg name="psr"  bitsize="32" regnum="89"  group="cr" type="ckcpu_psr"/>
    <reg name="vbr"  bitsize="32" regnum="90"  group="cr"/>
    <reg name="epsr" bitsize="32" regnum="91"  group="cr"/>
    <reg name="fpsr" bitsize="32" regnum="92"  group="cr"/>
    <reg name="epc"  bitsize="32" regnum="93"  group="cr"/>
    <reg name="fpc"  bitsize="32" regnum="94"  group="cr"/>
    <reg name="ss0"  bitsize="32" regnum="95"  group="cr"/>
    <reg name="ss1"  bitsize="32" regnum="96"  group="cr"/>
    <reg name="ss2"  bitsize="32" regnum="97"  group="cr"/>
    <reg name="ss3"  bitsize="32" regnum="98"  group="cr"/>
    <reg name="ss4"  bitsize="32" regnum="99"  group="cr"/>
    <reg name="gcr"  bitsize="32" regnum="100" group="cr"/>
    <reg name="gsr"  bitsize="32" regnum="101" group="cr"/>
    <reg name="cr13" bitsize="32" regnum="102" group="cr"/>
    <reg name="cr14" bitsize="32" regnum="103" group="cr"/>
    <reg name="cr15" bitsize="32" regnum="104" group="cr"/>
    <reg name="cr16" bitsize="32" regnum="105" group="cr"/>
    <reg name="cr17" bitsize="32" regnum="106" group="cr"/>
    <reg name="cr18" bitsize="32" regnum="107" group="cr"/>
    <reg name="cr19" bitsize="32" regnum="108" group="cr"/>
    <reg name="cr20" bitsize="32" regnum="109" group="cr"/>
    <reg name="cr21" bitsize="32" regnum="110" group="cr"/>
    <reg name="cr22" bitsize="32" regnum="111" group="cr"/>
    <reg name="cr23" bitsize="32" regnum="112" group="cr"/>
    <reg name="cr24" bitsize="32" regnum="113" group="cr"/>
    <reg name="cr25" bitsize="32" regnum="114" group="cr"/>
    <reg name="cr26" bitsize="32" regnum="115" group="cr"/>
    <reg name="cr27" bitsize="32" regnum="116" group="cr"/>
    <reg name="cr28" bitsize="32" regnum="117" group="cr"/>
    <reg name="cr29" bitsize="32" regnum="118" group="cr"/>
    <reg name="cr30" bitsize="32" regnum="119" group="cr"/>
  </feature>
  <feature name="org.gnu.csky.abiv1.fcr">    
    <reg name="cp1cr0" bitsize="32" regnum="121" group="fcr"/>
    <reg name="cp1cr1" bitsize="32" regnum="122" group="fcr"/>
    <reg name="cp1cr2" bitsize="32" regnum="123" group="fcr"/>
    <reg name="cp1cr3" bitsize="32" regnum="124" group="fcr"/>
    <reg name="cp1cr4" bitsize="32" regnum="125" group="fcr"/>
    <reg name="cp1cr5" bitsize="32" regnum="126" group="fcr"/>
    <reg name="cp1cr6" bitsize="32" regnum="127" group="fcr"/>
  </feature>
  <feature name="org.gnu.csky.abiv1.mmu">
    <reg name="cp15cr0"  bitsize="32" regnum="128" group="mmu"/>
    <reg name="cp15cr1"  bitsize="32" regnum="129" group="mmu"/>
    <reg name="cp15cr2"  bitsize="32" regnum="130" group="mmu"/>
    <reg name="cp15cr3"  bitsize="32" regnum="131" group="mmu"/>
    <reg name="cp15cr4"  bitsize="32" regnum="132" group="mmu"/>
    <reg name="cp15cr5"  bitsize="32" regnum="133" group="mmu"/>
    <reg name="cp15cr6"  bitsize="32" regnum="134" group="mmu"/>
    <reg name="cp15cr7"  bitsize="32" regnum="135" group="mmu"/>
    <reg name="cp15cr8"  bitsize="32" regnum="136" group="mmu"/>
    <reg name="cp15cr9"  bitsize="32" regnum="137" group="mmu"/>
    <reg name="cp15cr10" bitsize="32" regnum="138" group="mmu"/>
    <reg name="cp15cr11" bitsize="32" regnum="139" group="mmu"/>
    <reg name="cp15cr12" bitsize="32" regnum="140" group="mmu"/>
    <reg name="cp15cr13" bitsize="32" regnum="141" group="mmu"/>
    <reg name="cp15cr14" bitsize="32" regnum="142" group="mmu"/>
    <reg name="cp15cr15" bitsize="32" regnum="143" group="mmu"/>
    <reg name="cp15cr16" bitsize="32" regnum="144" group="mmu"/>
    <reg name="cp15cr29" bitsize="32" regnum="145" group="mmu"/>
    <reg name="cp15cr30" bitsize="32" regnum="146" group="mmu"/>
    <reg name="cp15cr31" bitsize="32" regnum="147" group="mmu"/>
  </feature>
</target>
