aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-03-28 08:00:22 +0000
committerPeter Maydell <peter.maydell@linaro.org>2019-03-28 08:00:22 +0000
commit2fc8d6f8e4d959b05e9225b46dad414bd8f54f88 (patch)
tree3b72a602fea627166c83c740ee8f37b70cfbdc91 /tests
parent49fc899f8d673dd9e73f3db0d9e9ea60b77c331b (diff)
parentbc19449acc2e05854118a47cdf96c1e86b30740d (diff)
Merge remote-tracking branch 'remotes/xtensa/tags/20190326-xtensa' into staging
target/xtensa fixes for v4.0: - fix translation of FLIX bundles with multiple references to the same register; - don't announce exit simcall; - clean up tests/tcg/xtensa. # gpg: Signature made Tue 26 Mar 2019 17:58:59 GMT # gpg: using RSA key 2B67854B98E5327DCDEB17D851F9CC91F83FA044 # gpg: issuer "jcmvbkbc@gmail.com" # gpg: Good signature from "Max Filippov <filippov@cadence.com>" [unknown] # gpg: aka "Max Filippov <max.filippov@cogentembedded.com>" [full] # gpg: aka "Max Filippov <jcmvbkbc@gmail.com>" [full] # Primary key fingerprint: 2B67 854B 98E5 327D CDEB 17D8 51F9 CC91 F83F A044 * remotes/xtensa/tags/20190326-xtensa: tests/tcg/xtensa: clean up test set target/xtensa: don't announce exit simcall target/xtensa: fix break_dependency for repeated resources Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/tcg/xtensa/Makefile.softmmu-target2
-rw-r--r--tests/tcg/xtensa/test_fail.S9
-rw-r--r--tests/tcg/xtensa/test_flix.S17
-rw-r--r--tests/tcg/xtensa/test_pipeline.S157
4 files changed, 18 insertions, 167 deletions
diff --git a/tests/tcg/xtensa/Makefile.softmmu-target b/tests/tcg/xtensa/Makefile.softmmu-target
index 86bb47db77..8212d96b81 100644
--- a/tests/tcg/xtensa/Makefile.softmmu-target
+++ b/tests/tcg/xtensa/Makefile.softmmu-target
@@ -8,7 +8,7 @@ XTENSA_SRC = $(SRC_PATH)/tests/tcg/xtensa
XTENSA_ALL = $(filter-out $(XTENSA_SRC)/linker.ld.S,$(wildcard $(XTENSA_SRC)/*.S))
XTENSA_TESTS = $(patsubst $(XTENSA_SRC)/%.S, %, $(XTENSA_ALL))
# Filter out common blobs and broken tests
-XTENSA_BROKEN_TESTS = crt vectors test_boolean test_pipeline test_fail
+XTENSA_BROKEN_TESTS = crt vectors
XTENSA_USABLE_TESTS = $(filter-out $(XTENSA_BROKEN_TESTS), $(XTENSA_TESTS))
# add to the list of tests
diff --git a/tests/tcg/xtensa/test_fail.S b/tests/tcg/xtensa/test_fail.S
deleted file mode 100644
index 1c26d50790..0000000000
--- a/tests/tcg/xtensa/test_fail.S
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "macros.inc"
-
-test_suite fail
-
-test fail
- test_fail
-test_end
-
-test_suite_end
diff --git a/tests/tcg/xtensa/test_flix.S b/tests/tcg/xtensa/test_flix.S
index 7c259e7018..7af06b2b88 100644
--- a/tests/tcg/xtensa/test_flix.S
+++ b/tests/tcg/xtensa/test_flix.S
@@ -55,6 +55,23 @@ test sum
.previous
test_end
+test rep_dependency
+
+ {
+ movi a2, 1
+ movi a3, 2
+ nop
+ }
+ {
+ or a2, a3, a3
+ or a3, a2, a2
+ nop
+ }
+ assert eqi, a2, 2
+ assert eqi, a3, 1
+
+test_end
+
#endif
test_suite_end
diff --git a/tests/tcg/xtensa/test_pipeline.S b/tests/tcg/xtensa/test_pipeline.S
deleted file mode 100644
index f418c11974..0000000000
--- a/tests/tcg/xtensa/test_pipeline.S
+++ /dev/null
@@ -1,157 +0,0 @@
-#include "macros.inc"
-
-.purgem test
-.macro test name
- movi a2, 1f
- movi a3, 99f
-0:
- ipf a2, 0
- ipf a2, 4
- ipf a2, 8
- ipf a2, 12
- addi a2, a2, 16
- blt a2, a3, 0b
- j 1f
- .align 4
-1:
-.endm
-
-test_suite pipeline
-
-test register_no_stall
- rsr a3, ccount
- add a5, a6, a6
- add a6, a5, a5
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 3
-test_end
-
-test register_stall
- l32i a5, a1, 0 /* data cache preload */
- nop
- rsr a3, ccount
- l32i a5, a1, 0
- add a6, a5, a5 /* M-to-E interlock */
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-test j0_stall
- rsr a3, ccount
- j 1f /* E + 2-cycle penalty */
-1:
- rsr a4, ccount /* E */
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-test j1_stall
- rsr a3, ccount
- j 1f
- nop
-1:
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-test j5_stall
- rsr a3, ccount
- j 1f
- nop
- nop
- nop
- nop
- nop
-1:
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-test b_no_stall
- movi a5, 1
- rsr a3, ccount
- beqi a5, 2, 1f
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 2
-1:
-test_end
-
-test b1_stall
- movi a5, 1
- rsr a3, ccount
- beqi a5, 1, 1f
- nop
-1:
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-test b5_stall
- movi a5, 1
- rsr a3, ccount
- beqi a5, 1, 1f
- nop
- nop
- nop
- nop
- nop
-1:
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 4
-test_end
-
-/* PS *SYNC */
-
-test ps_dsync
- rsr a5, ps
- isync
- rsr a3, ccount
- wsr a5, ps
- dsync
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 5
-test_end
-
-test ps_esync
- rsr a5, ps
- isync
- rsr a3, ccount
- wsr a5, ps
- esync
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 5
-test_end
-
-test ps_rsync
- rsr a5, ps
- isync
- rsr a3, ccount
- wsr a5, ps
- rsync
- rsr a4, ccount
- sub a3, a4, a3
- assert eqi, a3, 5
-test_end
-
-test ps_isync
- rsr a5, ps
- isync
- rsr a3, ccount
- wsr a5, ps
- isync
- rsr a4, ccount
- sub a3, a4, a3
- movi a4, 9
- assert eq, a3, a4
-test_end
-
-test_suite_end