1% # Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2% # Licensed under the Apache License, Version 2.0 (the "License");
3% # you may not use this file except in compliance with the License.
4% # You may obtain a copy of the License at
5% #
6% # http://www.apache.org/licenses/LICENSE-2.0
7% #
8% # Unless required by applicable law or agreed to in writing, software
9% # distributed under the License is distributed on an "AS IS" BASIS,
10% # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11% # See the License for the specific language governing permissions and
12% # limitations under the License.
13
14[[_TOC_]]
15
16<% full['chapters']&.each do |c| %>
17<%= c['name'] %>
18======
19<%= c['text'] %>
20<% end %>
21
22Instruction Set
23======
24<% full['groups']&.each do |g| %>
25<%= g['title'] %> [coverage: <%= g['coverage_metric']%>]
26------
27<%= g['description'] %>
28
29Description coverage:
30
31<% g['description_tests']&.each do |d| -%>
32* <%= covered_description(d) %>
33<% end -%>
34
35Instructions coverage:
36
37<% g['instructions']&.each do |i| -%>
38- <%= md(i['sig']) %> [<% if i['tests'].any? %><%= i['tests'].join(', ')%><% else %>`not covered`<% end %>]
39  - *format:* <%= format_array(i) %>
40<% if i['type'] %>  - *type:* <%= i['type'].gsub(/_/, '\\_') + "\n" %><% end -%>
41<% if i['dtype'] %>  - *dtype:* <%= i['dtype'].gsub(/_/, '\\_') + "\n" %><% end -%>
42<% if i['etype'] %>  - *etype:* <%= i['etype'].gsub(/_/, '\\_') + "\n" %><% end -%>
43<% if i['properties'] %>  - *properties:* <%= props(i['properties']) + "\n" %><% end -%>
44<% if i['non_testable'] %>  - *Non-testable*<br><% end -%>
45
46<% end -%>
47
48```
49<%= g['pseudo'] %>
50```
51
52Properties:
53
54<% g['properties']&.each do |p| -%>
55* <%= md(properties_hash[p]) %>
56<% end -%>
57
58Exceptions coverage:
59
60<% g['exceptions_tests']&.each do |e| -%>
61* <%= exception_entry(e) %>
62<% end -%>
63
64Bytecode verification coverage:
65
66<% g['verification_tests']&.each do |v| -%>
67* <%= verification_entry(v) %>
68<% end -%>
69
70<% end %>
71