mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/rth/tags/pull-dt-20200609' into staging
Add non-overlapping groups # gpg: Signature made Tue 09 Jun 2020 17:22:17 BST # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F * remotes/rth/tags/pull-dt-20200609: target/arm: Use a non-overlapping group for misc control decodetree: Drop check for less than 2 patterns in a group tests/decode: Test non-overlapping groups decodetree: Implement non-overlapping groups decodetree: Move semantic propagation into classes decodetree: Allow group covering the entire insn space decodetree: Split out MultiPattern from IncMultiPattern decodetree: Rename MultiPattern to IncMultiPattern decodetree: Tidy error_with_file Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
+295
-218
File diff suppressed because it is too large
Load Diff
@@ -312,13 +312,13 @@ CLZ 1111 1010 1011 ---- 1111 .... 1000 .... @rdm
|
||||
&cps
|
||||
|
||||
# Miscellaneous control
|
||||
{
|
||||
[
|
||||
CLREX 1111 0011 1011 1111 1000 1111 0010 1111
|
||||
DSB 1111 0011 1011 1111 1000 1111 0100 ----
|
||||
DMB 1111 0011 1011 1111 1000 1111 0101 ----
|
||||
ISB 1111 0011 1011 1111 1000 1111 0110 ----
|
||||
SB 1111 0011 1011 1111 1000 1111 0111 0000
|
||||
}
|
||||
]
|
||||
|
||||
# Note that the v7m insn overlaps both the normal and banked insn.
|
||||
{
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
|
||||
%sub1 0:8
|
||||
%sub2 8:8
|
||||
%sub3 16:8
|
||||
%sub4 24:8
|
||||
|
||||
# Groups with no overlap are supposed to fail
|
||||
# Make sure braces are matched
|
||||
{
|
||||
top 00000000 00000000 00000000 00000000
|
||||
sub4 ........ ........ ........ ........ %sub1 %sub2 %sub3 %sub4
|
||||
top 00000000 00000000 00000000 00000000
|
||||
[
|
||||
sub1 00000000 00000000 00000000 ........ %sub1
|
||||
sub2 00000000 00000000 ........ ........ %sub1 %sub2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
|
||||
# See the COPYING.LIB file in the top-level directory.
|
||||
|
||||
# Make sure braces are matched
|
||||
{
|
||||
[
|
||||
@@ -0,0 +1,14 @@
|
||||
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
|
||||
# See the COPYING.LIB file in the top-level directory.
|
||||
|
||||
%sub1 0:8
|
||||
%sub2 8:8
|
||||
|
||||
# The exclusive group should error for overlap.
|
||||
{
|
||||
top 00000000 00000000 00000000 00000000
|
||||
[
|
||||
sub1 00000000 00000000 00000000 ........ %sub1
|
||||
sub2 00000000 00000000 ........ ........ %sub1 %sub2
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
|
||||
# See the COPYING.LIB file in the top-level directory.
|
||||
|
||||
%sub1 0:8
|
||||
%sub2 8:8
|
||||
%sub3 16:8
|
||||
%sub4 24:8
|
||||
|
||||
# Group with complete overlap of the two patterns
|
||||
{
|
||||
top 00000000 00000000 00000000 00000000
|
||||
sub4 ........ ........ ........ ........ %sub1 %sub2 %sub3 %sub4
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
|
||||
# See the COPYING.LIB file in the top-level directory.
|
||||
|
||||
{
|
||||
[
|
||||
sub1 00000000 a:8 b:8 c:8
|
||||
sub2 00000001 a:8 b:8 c:8
|
||||
sub3 00000010 a:8 b:8 c:8
|
||||
]
|
||||
sub4 000000 d:2 a:8 b:8 c:8
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# This work is licensed under the terms of the GNU LGPL, version 2 or later.
|
||||
# See the COPYING.LIB file in the top-level directory.
|
||||
|
||||
# Verify deeper nesting, and a single element in the groups.
|
||||
{
|
||||
[
|
||||
{
|
||||
[
|
||||
sub1 00000000 a:8 b:8 c:8
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user