Deleted Added
sdiff udiff text old ( 5094:10b8551e3e3f ) new ( 5095:65cc3a615375 )
full compact
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 515 unchanged lines hidden (view full) ---

524 0x03: HPriv::wrhprhintp({{Hintp = Rs1 ^ Rs2_or_imm13;}});
525 //0x04 should cause an illegal instruction exception
526 0x05: HPriv::wrhprhtba({{Htba = Rs1 ^ Rs2_or_imm13;}});
527 //0x06-0x01D should cause an illegal instruction exception
528 0x1F: HPriv::wrhprhstick_cmpr({{HstickCmpr = Rs1 ^ Rs2_or_imm13;}});
529 }
530 0x34: decode OPF{
531 format FpBasic{
532 0x01: fmovs({{Frds.uw = Frs2s.uw;}});
533 0x02: fmovd({{Frd.udw = Frs2.udw;}});
534 0x03: FpUnimpl::fmovq();
535 0x05: fnegs({{Frds.uw = Frs2s.uw ^ (1UL << 31);}});
536 0x06: fnegd({{Frd.udw = Frs2.udw ^ (1ULL << 63);}});
537 0x07: FpUnimpl::fnegq();
538 0x09: fabss({{Frds.uw = ((1UL << 31) - 1) & Frs2s.uw;}});
539 0x0A: fabsd({{Frd.udw = ((1ULL << 63) - 1) & Frs2.udw;}});
540 0x0B: FpUnimpl::fabsq();
541 0x29: fsqrts({{Frds.sf = std::sqrt(Frs2s.sf);}});
542 0x2A: fsqrtd({{Frd.df = std::sqrt(Frs2.df);}});
543 0x2B: FpUnimpl::fsqrtq();
544 0x41: fadds({{Frds.sf = Frs1s.sf + Frs2s.sf;}});
545 0x42: faddd({{Frd.df = Frs1.df + Frs2.df;}});
546 0x43: FpUnimpl::faddq();
547 0x45: fsubs({{Frds.sf = Frs1s.sf - Frs2s.sf;}});
548 0x46: fsubd({{Frd.df = Frs1.df - Frs2.df; }});
549 0x47: FpUnimpl::fsubq();
550 0x49: fmuls({{Frds.sf = Frs1s.sf * Frs2s.sf;}});
551 0x4A: fmuld({{Frd.df = Frs1.df * Frs2.df;}});
552 0x4B: FpUnimpl::fmulq();
553 0x4D: fdivs({{Frds.sf = Frs1s.sf / Frs2s.sf;}});
554 0x4E: fdivd({{Frd.df = Frs1.df / Frs2.df;}});
555 0x4F: FpUnimpl::fdivq();
556 0x69: fsmuld({{Frd.df = Frs1s.sf * Frs2s.sf;}});
557 0x6E: FpUnimpl::fdmulq();
558 0x81: fstox({{Frd.sdw = static_cast<int64_t>(Frs2s.sf);}});
559 0x82: fdtox({{Frd.sdw = static_cast<int64_t>(Frs2.df);}});
560 0x83: FpUnimpl::fqtox();
561 0x84: fxtos({{Frds.sf = static_cast<float>(Frs2.sdw);}});
562 0x88: fxtod({{Frd.df = static_cast<double>(Frs2.sdw);}});
563 0x8C: FpUnimpl::fxtoq();
564 0xC4: fitos({{Frds.sf = static_cast<float>(Frs2s.sw);}});
565 0xC6: fdtos({{Frds.sf = Frs2.df;}});
566 0xC7: FpUnimpl::fqtos();
567 0xC8: fitod({{Frd.df = static_cast<double>(Frs2s.sw);}});
568 0xC9: fstod({{Frd.df = Frs2s.sf;}});
569 0xCB: FpUnimpl::fqtod();
570 0xCC: FpUnimpl::fitoq();
571 0xCD: FpUnimpl::fstoq();
572 0xCE: FpUnimpl::fdtoq();
573 0xD1: fstoi({{
574 Frds.sw = static_cast<int32_t>(Frs2s.sf);
575 float t = Frds.sw;

--- 854 unchanged lines hidden ---