17ec681f3Smrg<?xml version="1.0" encoding="UTF-8"?>
27ec681f3Smrg<!--
37ec681f3SmrgCopyright © 2020 Google, Inc.
47ec681f3Smrg
57ec681f3SmrgPermission is hereby granted, free of charge, to any person obtaining a
67ec681f3Smrgcopy of this software and associated documentation files (the "Software"),
77ec681f3Smrgto deal in the Software without restriction, including without limitation
87ec681f3Smrgthe rights to use, copy, modify, merge, publish, distribute, sublicense,
97ec681f3Smrgand/or sell copies of the Software, and to permit persons to whom the
107ec681f3SmrgSoftware is furnished to do so, subject to the following conditions:
117ec681f3Smrg
127ec681f3SmrgThe above copyright notice and this permission notice (including the next
137ec681f3Smrgparagraph) shall be included in all copies or substantial portions of the
147ec681f3SmrgSoftware.
157ec681f3Smrg
167ec681f3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
177ec681f3SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
187ec681f3SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
197ec681f3SmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
207ec681f3SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
217ec681f3SmrgOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
227ec681f3SmrgSOFTWARE.
237ec681f3Smrg -->
247ec681f3Smrg
257ec681f3Smrg<isa>
267ec681f3Smrg
277ec681f3Smrg<!--
287ec681f3Smrg	Cat7 Instructions:  barrier instructions
297ec681f3Smrg -->
307ec681f3Smrg
317ec681f3Smrg<bitset name="#instruction-cat7" extends="#instruction">
327ec681f3Smrg	<display>
337ec681f3Smrg		{SY}{JP}{NAME}{G}{L}{R}{W}
347ec681f3Smrg	</display>
357ec681f3Smrg	<pattern low="0"  high="31">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</pattern>
367ec681f3Smrg	<pattern low="32" high="43">xxxxxxxxxxxx</pattern>
377ec681f3Smrg	<pattern pos="44"          >x</pattern>  <!-- possilby (ss) ? -->
387ec681f3Smrg	<pattern low="45" high="50">x1xxxx</pattern>
397ec681f3Smrg	<field   pos="51"          name="W"  type="bool" display=".w"  />  <!-- write -->
407ec681f3Smrg	<field   pos="52"          name="R"  type="bool" display=".r"  />  <!-- read -->
417ec681f3Smrg	<field   pos="53"          name="L"  type="bool" display=".l"  />  <!-- local -->
427ec681f3Smrg	<field   pos="54"          name="G"  type="bool" display=".g"  />  <!-- global -->
437ec681f3Smrg	<!-- 4b OPC -->
447ec681f3Smrg	<field   pos="59"          name="JP" type="bool" display="(jp)"/>
457ec681f3Smrg	<field   pos="60"          name="SY" type="bool" display="(sy)"/>
467ec681f3Smrg	<pattern low="61" high="63">111</pattern>  <!-- cat7 -->
477ec681f3Smrg	<encode>
487ec681f3Smrg		<map name="W">src->cat7.w</map>
497ec681f3Smrg		<map name="R">src->cat7.r</map>
507ec681f3Smrg		<map name="L">src->cat7.l</map>
517ec681f3Smrg		<map name="G">src->cat7.g</map>
527ec681f3Smrg	</encode>
537ec681f3Smrg</bitset>
547ec681f3Smrg
557ec681f3Smrg<bitset name="bar" extends="#instruction-cat7">
567ec681f3Smrg	<pattern low="55" high="58">0000</pattern>
577ec681f3Smrg</bitset>
587ec681f3Smrg
597ec681f3Smrg<bitset name="fence" extends="#instruction-cat7">
607ec681f3Smrg	<pattern low="55" high="58">0001</pattern>
617ec681f3Smrg</bitset>
627ec681f3Smrg
637ec681f3Smrg</isa>