[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 080/111] m68k: add fcos instruction
From: |
Bryce Lanham |
Subject: |
[Qemu-devel] [PATCH 080/111] m68k: add fcos instruction |
Date: |
Wed, 17 Aug 2011 15:47:25 -0500 |
From: Laurent Vivier <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
---
target-m68k/helper.c | 15 +++++++++++++++
target-m68k/helpers.h | 1 +
target-m68k/translate.c | 3 +++
3 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/target-m68k/helper.c b/target-m68k/helper.c
index 699f28a..79e6a28 100644
--- a/target-m68k/helper.c
+++ b/target-m68k/helper.c
@@ -1435,6 +1435,21 @@ void HELPER(acos_FP0)(CPUState *env)
floatx80_to_FP0(env, res);
}
+void HELPER(cos_FP0)(CPUState *env)
+{
+ floatx80 res;
+ long double val;
+
+ res = FP0_to_floatx80(env);
+ val = LDOUBLE(res);
+
+ DBG_FPUH("cos_FP0 %Lg", val);
+ val = cosl(val);
+ DBG_FPU(" = %Lg", val);
+ res = FLOATx80(val);
+ floatx80_to_FP0(env, res);
+}
+
void HELPER(getexp_FP0)(CPUState *env)
{
int32_t exp;
diff --git a/target-m68k/helpers.h b/target-m68k/helpers.h
index c704953..e6465cd 100644
--- a/target-m68k/helpers.h
+++ b/target-m68k/helpers.h
@@ -74,6 +74,7 @@ DEF_HELPER_1(log10_FP0, void, env)
DEF_HELPER_1(abs_FP0, void, env)
DEF_HELPER_1(chs_FP0, void, env)
DEF_HELPER_1(acos_FP0, void, env)
+DEF_HELPER_1(cos_FP0, void, env)
DEF_HELPER_1(getexp_FP0, void, env)
DEF_HELPER_1(scale_FP0_FP1, void, env)
DEF_HELPER_1(add_FP0_FP1, void, env)
diff --git a/target-m68k/translate.c b/target-m68k/translate.c
index 0fafa3b..96586ae 100644
--- a/target-m68k/translate.c
+++ b/target-m68k/translate.c
@@ -3688,6 +3688,9 @@ DISAS_INSN(fpu)
case 0x1c: /* facos */
gen_helper_acos_FP0(cpu_env);
break;
+ case 0x1d: /* fcos */
+ gen_helper_cos_FP0(cpu_env);
+ break;
case 0x1e: /* fgetexp */
gen_helper_getexp_FP0(cpu_env);
break;
--
1.7.2.3
- [Qemu-devel] [PATCH 063/111] m68k: some FPU debugging macros, (continued)
- [Qemu-devel] [PATCH 063/111] m68k: some FPU debugging macros, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 066/111] m68k: add fgetexp, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 051/111] m68k: correct divs.w and divu.w, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 071/111] m68k: correct cmpa comparison datatype, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 061/111] m68k: remove useless file m68k-qreg.h, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 059/111] m68k: add m68030 definition, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 034/111] m68k: correct typo on f64_to_i32() return type., Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 052/111] m68k: correct flags with negl, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 038/111] m68k: add EA support for negx, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 056/111] m68k-linux-user: add '--enable-emulop', Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 080/111] m68k: add fcos instruction,
Bryce Lanham <=
- [Qemu-devel] [PATCH 064/111] m68k: more tests, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 072/111] m68k: add flog10, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 021/111] m68k: add "byte", "word" and memory rotate., Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 078/111] m68k: add ftan instruction, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 032/111] m68k: add linkl instruction, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 036/111] m68k: correct neg condition code flags computation, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 024/111] m68k: add cas, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 028/111] m68k: allow fpu to manage double data type., Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 077/111] m68k: add facos instruction, Bryce Lanham, 2011/08/17
- [Qemu-devel] [PATCH 026/111] m68k: define fcntl constants, Bryce Lanham, 2011/08/17