diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-09-25 20:10:04 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-09-25 20:10:04 -0700 |
commit | e735001d5463b30dacf997bfb2578c433db98154 (patch) | |
tree | ecadec70a1d908f282b453187e35fb908f99ebd8 /src/arch/sparc | |
parent | 306b5c6b5b7075d3af8f0f8e4a7a9cff7f706ee7 (diff) | |
download | gem5-e735001d5463b30dacf997bfb2578c433db98154.tar.xz |
SPARC: Remove some redundant code from some of the fp instructions.
--HG--
extra : convert_revision : 68b0341ae7a367b84c44081f9a3d6d0bc6631649
Diffstat (limited to 'src/arch/sparc')
-rw-r--r-- | src/arch/sparc/isa/decoder.isa | 66 |
1 files changed, 12 insertions, 54 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa index 70c580953..eaeba3e2d 100644 --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@ -529,44 +529,14 @@ decode OP default Unknown::unknown() } 0x34: decode OPF{ format FpBasic{ - 0x01: fmovs({{ - Frds.uw = Frs2s.uw; - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); - 0x02: fmovd({{ - Frd.udw = Frs2.udw; - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); + 0x01: fmovs({{Frds.uw = Frs2s.uw;}}); + 0x02: fmovd({{Frd.udw = Frs2.udw;}}); 0x03: FpUnimpl::fmovq(); - 0x05: fnegs({{ - Frds.uw = Frs2s.uw ^ (1UL << 31); - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); - 0x06: fnegd({{ - Frd.udw = Frs2.udw ^ (1ULL << 63); - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); + 0x05: fnegs({{Frds.uw = Frs2s.uw ^ (1UL << 31);}}); + 0x06: fnegd({{Frd.udw = Frs2.udw ^ (1ULL << 63);}}); 0x07: FpUnimpl::fnegq(); - 0x09: fabss({{ - Frds.uw = ((1UL << 31) - 1) & Frs2s.uw; - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); - 0x0A: fabsd({{ - Frd.udw = ((1ULL << 63) - 1) & Frs2.udw; - //fsr.ftt = fsr.cexc = 0 - Fsr &= ~(7 << 14); - Fsr &= ~(0x1F); - }}); + 0x09: fabss({{Frds.uw = ((1UL << 31) - 1) & Frs2s.uw;}}); + 0x0A: fabsd({{Frd.udw = ((1ULL << 63) - 1) & Frs2.udw;}}); 0x0B: FpUnimpl::fabsq(); 0x29: fsqrts({{Frds.sf = std::sqrt(Frs2s.sf);}}); 0x2A: fsqrtd({{Frd.df = std::sqrt(Frs2.df);}}); @@ -585,28 +555,16 @@ decode OP default Unknown::unknown() 0x4F: FpUnimpl::fdivq(); 0x69: fsmuld({{Frd.df = Frs1s.sf * Frs2s.sf;}}); 0x6E: FpUnimpl::fdmulq(); - 0x81: fstox({{ - Frd.sdw = static_cast<int64_t>(Frs2s.sf); - }}); - 0x82: fdtox({{ - Frd.sdw = static_cast<int64_t>(Frs2.df); - }}); + 0x81: fstox({{Frd.sdw = static_cast<int64_t>(Frs2s.sf);}}); + 0x82: fdtox({{Frd.sdw = static_cast<int64_t>(Frs2.df);}}); 0x83: FpUnimpl::fqtox(); - 0x84: fxtos({{ - Frds.sf = static_cast<float>(Frs2.sdw); - }}); - 0x88: fxtod({{ - Frd.df = static_cast<double>(Frs2.sdw); - }}); + 0x84: fxtos({{Frds.sf = static_cast<float>(Frs2.sdw);}}); + 0x88: fxtod({{Frd.df = static_cast<double>(Frs2.sdw);}}); 0x8C: FpUnimpl::fxtoq(); - 0xC4: fitos({{ - Frds.sf = static_cast<float>(Frs2s.sw); - }}); + 0xC4: fitos({{Frds.sf = static_cast<float>(Frs2s.sw);}}); 0xC6: fdtos({{Frds.sf = Frs2.df;}}); 0xC7: FpUnimpl::fqtos(); - 0xC8: fitod({{ - Frd.df = static_cast<double>(Frs2s.sw); - }}); + 0xC8: fitod({{Frd.df = static_cast<double>(Frs2s.sw);}}); 0xC9: fstod({{Frd.df = Frs2s.sf;}}); 0xCB: FpUnimpl::fqtod(); 0xCC: FpUnimpl::fitoq(); |