aboutsummaryrefslogtreecommitdiff
path: root/target-alpha/op.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-29 17:21:28 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-09-29 17:21:28 +0000
commitf18cd2238d39950f8a532cb2a2ee48a453d2e88f (patch)
tree961cbb41d1f5b04b4e34f8671c8033e200929d71 /target-alpha/op.c
parent023d8ca21fab3cb29be506946476ffc16c479a17 (diff)
target-alpha: convert FP ops to TCG
- Convert FP ops to TCG - Fix S format - Implement F and G formats (untested) - Fix MF_FPCR an MT_FPCR - Fix FTOIS, FTOIT, ITOFF, ITOFS, ITOFT - Fix CPYSN, CPYSE Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5354 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-alpha/op.c')
-rw-r--r--target-alpha/op.c474
1 files changed, 0 insertions, 474 deletions
diff --git a/target-alpha/op.c b/target-alpha/op.c
index 2896c1d4a2..cf29eb9ded 100644
--- a/target-alpha/op.c
+++ b/target-alpha/op.c
@@ -23,105 +23,8 @@
#include "config.h"
#include "exec.h"
#include "host-utils.h"
-
#include "op_helper.h"
-#define REG 0
-#include "op_template.h"
-
-#define REG 1
-#include "op_template.h"
-
-#define REG 2
-#include "op_template.h"
-
-#define REG 3
-#include "op_template.h"
-
-#define REG 4
-#include "op_template.h"
-
-#define REG 5
-#include "op_template.h"
-
-#define REG 6
-#include "op_template.h"
-
-#define REG 7
-#include "op_template.h"
-
-#define REG 8
-#include "op_template.h"
-
-#define REG 9
-#include "op_template.h"
-
-#define REG 10
-#include "op_template.h"
-
-#define REG 11
-#include "op_template.h"
-
-#define REG 12
-#include "op_template.h"
-
-#define REG 13
-#include "op_template.h"
-
-#define REG 14
-#include "op_template.h"
-
-#define REG 15
-#include "op_template.h"
-
-#define REG 16
-#include "op_template.h"
-
-#define REG 17
-#include "op_template.h"
-
-#define REG 18
-#include "op_template.h"
-
-#define REG 19
-#include "op_template.h"
-
-#define REG 20
-#include "op_template.h"
-
-#define REG 21
-#include "op_template.h"
-
-#define REG 22
-#include "op_template.h"
-
-#define REG 23
-#include "op_template.h"
-
-#define REG 24
-#include "op_template.h"
-
-#define REG 25
-#include "op_template.h"
-
-#define REG 26
-#include "op_template.h"
-
-#define REG 27
-#include "op_template.h"
-
-#define REG 28
-#include "op_template.h"
-
-#define REG 29
-#include "op_template.h"
-
-#define REG 30
-#include "op_template.h"
-
-#define REG 31
-#include "op_template.h"
-
/* Debug stuff */
void OPPROTO op_no_op (void)
{
@@ -148,383 +51,6 @@ void OPPROTO op_no_op (void)
#include "op_mem.h"
#endif
-/* Misc */
-void OPPROTO op_load_fpcr (void)
-{
- helper_load_fpcr();
- RETURN();
-}
-
-void OPPROTO op_store_fpcr (void)
-{
- helper_store_fpcr();
- RETURN();
-}
-
-/* Tests */
-#if 0 // Qemu does not know how to do this...
-void OPPROTO op_bcond (void)
-{
- if (T0)
- env->pc = T1 & ~3;
- else
- env->pc = PARAM(1);
- RETURN();
-}
-#else
-void OPPROTO op_bcond (void)
-{
- if (T0)
- env->pc = T1 & ~3;
- else
- env->pc = ((uint64_t)PARAM(1) << 32) | (uint64_t)PARAM(2);
- RETURN();
-}
-#endif
-
-/* IEEE floating point arithmetic */
-/* S floating (single) */
-void OPPROTO op_adds (void)
-{
- FT0 = float32_add(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_subs (void)
-{
- FT0 = float32_sub(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_muls (void)
-{
- FT0 = float32_mul(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_divs (void)
-{
- FT0 = float32_div(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_sqrts (void)
-{
- helper_sqrts();
- RETURN();
-}
-
-void OPPROTO op_cpys (void)
-{
- helper_cpys();
- RETURN();
-}
-
-void OPPROTO op_cpysn (void)
-{
- helper_cpysn();
- RETURN();
-}
-
-void OPPROTO op_cpyse (void)
-{
- helper_cpyse();
- RETURN();
-}
-
-void OPPROTO op_itofs (void)
-{
- helper_itofs();
- RETURN();
-}
-
-void OPPROTO op_ftois (void)
-{
- helper_ftois();
- RETURN();
-}
-
-/* T floating (double) */
-void OPPROTO op_addt (void)
-{
- FT0 = float64_add(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_subt (void)
-{
- FT0 = float64_sub(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_mult (void)
-{
- FT0 = float64_mul(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_divt (void)
-{
- FT0 = float64_div(FT0, FT1, &FP_STATUS);
- RETURN();
-}
-
-void OPPROTO op_sqrtt (void)
-{
- helper_sqrtt();
- RETURN();
-}
-
-void OPPROTO op_cmptun (void)
-{
- helper_cmptun();
- RETURN();
-}
-
-void OPPROTO op_cmpteq (void)
-{
- helper_cmpteq();
- RETURN();
-}
-
-void OPPROTO op_cmptle (void)
-{
- helper_cmptle();
- RETURN();
-}
-
-void OPPROTO op_cmptlt (void)
-{
- helper_cmptlt();
- RETURN();
-}
-
-void OPPROTO op_itoft (void)
-{
- helper_itoft();
- RETURN();
-}
-
-void OPPROTO op_ftoit (void)
-{
- helper_ftoit();
- RETURN();
-}
-
-/* VAX floating point arithmetic */
-/* F floating */
-void OPPROTO op_addf (void)
-{
- helper_addf();
- RETURN();
-}
-
-void OPPROTO op_subf (void)
-{
- helper_subf();
- RETURN();
-}
-
-void OPPROTO op_mulf (void)
-{
- helper_mulf();
- RETURN();
-}
-
-void OPPROTO op_divf (void)
-{
- helper_divf();
- RETURN();
-}
-
-void OPPROTO op_sqrtf (void)
-{
- helper_sqrtf();
- RETURN();
-}
-
-void OPPROTO op_cmpfeq (void)
-{
- helper_cmpfeq();
- RETURN();
-}
-
-void OPPROTO op_cmpfne (void)
-{
- helper_cmpfne();
- RETURN();
-}
-
-void OPPROTO op_cmpflt (void)
-{
- helper_cmpflt();
- RETURN();
-}
-
-void OPPROTO op_cmpfle (void)
-{
- helper_cmpfle();
- RETURN();
-}
-
-void OPPROTO op_cmpfgt (void)
-{
- helper_cmpfgt();
- RETURN();
-}
-
-void OPPROTO op_cmpfge (void)
-{
- helper_cmpfge();
- RETURN();
-}
-
-void OPPROTO op_itoff (void)
-{
- helper_itoff();
- RETURN();
-}
-
-/* G floating */
-void OPPROTO op_addg (void)
-{
- helper_addg();
- RETURN();
-}
-
-void OPPROTO op_subg (void)
-{
- helper_subg();
- RETURN();
-}
-
-void OPPROTO op_mulg (void)
-{
- helper_mulg();
- RETURN();
-}
-
-void OPPROTO op_divg (void)
-{
- helper_divg();
- RETURN();
-}
-
-void OPPROTO op_sqrtg (void)
-{
- helper_sqrtg();
- RETURN();
-}
-
-void OPPROTO op_cmpgeq (void)
-{
- helper_cmpgeq();
- RETURN();
-}
-
-void OPPROTO op_cmpglt (void)
-{
- helper_cmpglt();
- RETURN();
-}
-
-void OPPROTO op_cmpgle (void)
-{
- helper_cmpgle();
- RETURN();
-}
-
-/* Floating point format conversion */
-void OPPROTO op_cvtst (void)
-{
- FT0 = (float)FT0;
- RETURN();
-}
-
-void OPPROTO op_cvtqs (void)
-{
- helper_cvtqs();
- RETURN();
-}
-
-void OPPROTO op_cvtts (void)
-{
- FT0 = (float)FT0;
- RETURN();
-}
-
-void OPPROTO op_cvttq (void)
-{
- helper_cvttq();
- RETURN();
-}
-
-void OPPROTO op_cvtqt (void)
-{
- helper_cvtqt();
- RETURN();
-}
-
-void OPPROTO op_cvtqf (void)
-{
- helper_cvtqf();
- RETURN();
-}
-
-void OPPROTO op_cvtgf (void)
-{
- helper_cvtgf();
- RETURN();
-}
-
-void OPPROTO op_cvtgd (void)
-{
- helper_cvtgd();
- RETURN();
-}
-
-void OPPROTO op_cvtgq (void)
-{
- helper_cvtgq();
- RETURN();
-}
-
-void OPPROTO op_cvtqg (void)
-{
- helper_cvtqg();
- RETURN();
-}
-
-void OPPROTO op_cvtdg (void)
-{
- helper_cvtdg();
- RETURN();
-}
-
-void OPPROTO op_cvtlq (void)
-{
- helper_cvtlq();
- RETURN();
-}
-
-void OPPROTO op_cvtql (void)
-{
- helper_cvtql();
- RETURN();
-}
-
-void OPPROTO op_cvtqlv (void)
-{
- helper_cvtqlv();
- RETURN();
-}
-
-void OPPROTO op_cvtqlsv (void)
-{
- helper_cvtqlsv();
- RETURN();
-}
-
/* PALcode support special instructions */
#if !defined (CONFIG_USER_ONLY)
void OPPROTO op_hw_rei (void)