From 2bc8946db8ed68a1dcce08f934090f548114650d Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 6 Feb 2003 10:42:33 +0000 Subject: [PATCH] Commit Sh2E addition --- sim/ChangeLog | 8 ++++++++ sim/sh/gencode.c | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/sim/ChangeLog b/sim/ChangeLog index 35bcfb5dd9..f3bc71d261 100644 --- a/sim/ChangeLog +++ b/sim/ChangeLog @@ -1,3 +1,11 @@ +2003-01-23 Nick Clifton + + * Add sh2e support: + + 2002-04-02 Alexandre Oliva + + * sh/gencode.c: Replace sh3e with sh2e except in fsqrt. + 2002-08-24 Geoffrey Keating * MAINTAINERS: Update my email address. diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c index 8e2445a7e1..167fdd1ffd 100644 --- a/sim/sh/gencode.c +++ b/sim/sh/gencode.c @@ -226,22 +226,22 @@ op tab[] = "R[n] = (R[m] & 0xffff);", }, - /* sh3e */ + /* sh2e */ { "", "", "fabs ", "1111nnnn01011101", "FP_UNARY (n, fabs);", "/* FIXME: FR(n) &= 0x7fffffff; */", }, - /* sh3e */ + /* sh2e */ { "", "", "fadd ,", "1111nnnnmmmm0000", "FP_OP (n, +, m);", }, - /* sh3e */ + /* sh2e */ { "", "", "fcmp/eq ,", "1111nnnnmmmm0100", "FP_CMP (n, ==, m);", }, - /* sh3e */ + /* sh2e */ { "", "", "fcmp/gt ,", "1111nnnnmmmm0101", "FP_CMP (n, >, m);", }, @@ -278,7 +278,7 @@ op tab[] = "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fdiv ,", "1111nnnnmmmm0011", "FP_OP (n, /, m);", "/* FIXME: check for DP and (n & 1) == 0? */", @@ -291,19 +291,19 @@ op tab[] = "/* FIXME: check for DP and (n & 1) == 0? */", }, - /* sh3e */ + /* sh2e */ { "", "", "fldi0 ", "1111nnnn10001101", "SET_FR (n, (float)0.0);", "/* FIXME: check for DP and (n & 1) == 0? */", }, - /* sh3e */ + /* sh2e */ { "", "", "fldi1 ", "1111nnnn10011101", "SET_FR (n, (float)1.0);", "/* FIXME: check for DP and (n & 1) == 0? */", }, - /* sh3e */ + /* sh2e */ { "", "", "flds ,FPUL", "1111nnnn00011101", " union", " {", @@ -314,7 +314,7 @@ op tab[] = " FPUL = u.i;", }, - /* sh3e */ + /* sh2e */ { "", "", "float FPUL,", "1111nnnn00101101", /* sh4 */ "if (FPSCR_PR)", @@ -325,13 +325,13 @@ op tab[] = "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmac ,,", "1111nnnnmmmm1110", "SET_FR (n, FR(m) * FR(0) + FR(n));", "/* FIXME: check for DP and (n & 1) == 0? */", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov ,", "1111nnnnmmmm1100", /* sh4 */ "if (FPSCR_SZ) {", @@ -345,7 +345,7 @@ op tab[] = " SET_FR (n, FR (m));", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s ,@", "1111nnnnmmmm1010", /* sh4 */ "if (FPSCR_SZ) {", @@ -358,7 +358,7 @@ op tab[] = " WLAT (R[n], FI(m));", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s @,", "1111nnnnmmmm1000", /* sh4 */ "if (FPSCR_SZ) {", @@ -371,7 +371,7 @@ op tab[] = " SET_FI(n, RLAT(R[m]));", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s @+,", "1111nnnnmmmm1001", /* sh4 */ "if (FPSCR_SZ) {", @@ -386,7 +386,7 @@ op tab[] = " R[m] += 4;", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s ,@-", "1111nnnnmmmm1011", /* sh4 */ "if (FPSCR_SZ) {", @@ -401,7 +401,7 @@ op tab[] = " WLAT (R[n], FI(m));", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s @(R0,),", "1111nnnnmmmm0110", /* sh4 */ "if (FPSCR_SZ) {", @@ -414,7 +414,7 @@ op tab[] = " SET_FI(n, RLAT(R[0] + R[m]));", "}", }, - /* sh3e */ + /* sh2e */ { "", "", "fmov.s ,@(R0,)", "1111nnnnmmmm0111", /* sh4 */ "if (FPSCR_SZ) {", @@ -430,12 +430,12 @@ op tab[] = /* sh4: See fmov instructions above for move to/from extended fp registers */ - /* sh3e */ + /* sh2e */ { "", "", "fmul ,", "1111nnnnmmmm0010", "FP_OP(n, *, m);", }, - /* sh3e */ + /* sh2e */ { "", "", "fneg ", "1111nnnn01001101", "FP_UNARY(n, -);", }, @@ -455,12 +455,12 @@ op tab[] = "FP_UNARY(n, sqrt);", }, - /* sh3e */ + /* sh2e */ { "", "", "fsub ,", "1111nnnnmmmm0001", "FP_OP(n, -, m);", }, - /* sh3e */ + /* sh2e */ { "", "", "ftrc , FPUL", "1111nnnn00111101", /* sh4 */ "if (FPSCR_PR) {", @@ -476,7 +476,7 @@ op tab[] = " FPUL = (int)FR(n);", }, - /* sh3e */ + /* sh2e */ { "", "", "fsts FPUL,", "1111nnnn00001101", " union", " {", @@ -561,11 +561,11 @@ op tab[] = "SREG (m) = RLAT(R[n]);", "R[n] += 4;", }, - /* sh3e / sh-dsp (lds ,DSR) */ + /* sh2e / sh-dsp (lds ,DSR) */ { "", "n", "lds ,FPSCR", "0100nnnn01101010", "SET_FPSCR(R[n]);", }, - /* sh3e / sh-dsp (lds.l @+,DSR) */ + /* sh2e / sh-dsp (lds.l @+,DSR) */ { "", "n", "lds.l @+,FPSCR", "0100nnnn01100110", "MA (1);", "SET_FPSCR (RLAT(R[n]));", -- 2.34.1