Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
---
tests/tcg/tricore/Makefile | 1 +
tests/tcg/tricore/macros.h | 7 +++++++
tests/tcg/tricore/test_ftoi.S | 10 ++++++++++
3 files changed, 18 insertions(+)
create mode 100644 tests/tcg/tricore/test_ftoi.S
diff --git a/tests/tcg/tricore/Makefile b/tests/tcg/tricore/Makefile
index 5e2a450892..c3c7c59065 100644
--- a/tests/tcg/tricore/Makefile
+++ b/tests/tcg/tricore/Makefile
@@ -14,6 +14,7 @@ TESTCASES += test_clz.tst
TESTCASES += test_dvstep.tst
TESTCASES += test_fadd.tst
TESTCASES += test_fmul.tst
+TESTCASES += test_ftoi.tst
all: build
diff --git a/tests/tcg/tricore/macros.h b/tests/tcg/tricore/macros.h
index 59b4b9a352..e6a41cd1a2 100644
--- a/tests/tcg/tricore/macros.h
+++ b/tests/tcg/tricore/macros.h
@@ -70,6 +70,13 @@ test_ ## num: \
insn DREG_CALC_RESULT, DREG_RS1; \
)
+#define TEST_D_D_PSW(insn, num, result, psw, rs1) \
+ TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \
+ LI(DREG_RS1, rs1); \
+ rstv; \
+ insn DREG_CORRECT_RESULT, DREG_RS1; \
+ )
+
#define TEST_D_DD_PSW(insn, num, result, psw, rs1, rs2) \
TEST_CASE_PSW(num, DREG_CALC_RESULT, result, psw, \
LI(DREG_RS1, rs1); \
diff --git a/tests/tcg/tricore/test_ftoi.S b/tests/tcg/tricore/test_ftoi.S
new file mode 100644
index 0000000000..fb4af6b5aa
--- /dev/null
+++ b/tests/tcg/tricore/test_ftoi.S
@@ -0,0 +1,10 @@
+#include "macros.h"
+.text
+.global _start
+_start:
+ TEST_D_D_PSW(ftoi, 1, 0x0, 0x84000b80, 0x05f6e605)
+ TEST_D_D_PSW(ftoi, 2, 0x0, 0x04000b80, 0x00012200)
+ TEST_D_D_PSW(ftoi, 3, 0x0, 0xc4000b80, 0xffffffff)
+
+ TEST_PASSFAIL
+
--
2.11.0