15083Sgblack@eecs.umich.edu/* 25083Sgblack@eecs.umich.edu * Copyright (c) 2007 The Hewlett-Packard Development Company 35083Sgblack@eecs.umich.edu * All rights reserved. 45083Sgblack@eecs.umich.edu * 57087Snate@binkert.org * The license below extends only to copyright in the software and shall 67087Snate@binkert.org * not be construed as granting a license to any other intellectual 77087Snate@binkert.org * property including but not limited to intellectual property relating 87087Snate@binkert.org * to a hardware implementation of the functionality of the software 97087Snate@binkert.org * licensed hereunder. You may use the software subject to the license 107087Snate@binkert.org * terms below provided that you ensure that this notice is replicated 117087Snate@binkert.org * unmodified and in its entirety in all distributions of the software, 127087Snate@binkert.org * modified or unmodified, in source code or in binary form. 135083Sgblack@eecs.umich.edu * 147087Snate@binkert.org * Redistribution and use in source and binary forms, with or without 157087Snate@binkert.org * modification, are permitted provided that the following conditions are 167087Snate@binkert.org * met: redistributions of source code must retain the above copyright 177087Snate@binkert.org * notice, this list of conditions and the following disclaimer; 187087Snate@binkert.org * redistributions in binary form must reproduce the above copyright 197087Snate@binkert.org * notice, this list of conditions and the following disclaimer in the 207087Snate@binkert.org * documentation and/or other materials provided with the distribution; 217087Snate@binkert.org * neither the name of the copyright holders nor the names of its 225083Sgblack@eecs.umich.edu * contributors may be used to endorse or promote products derived from 237087Snate@binkert.org * this software without specific prior written permission. 245083Sgblack@eecs.umich.edu * 255083Sgblack@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 265083Sgblack@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 275083Sgblack@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 285083Sgblack@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 295083Sgblack@eecs.umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 305083Sgblack@eecs.umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 315083Sgblack@eecs.umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 325083Sgblack@eecs.umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 335083Sgblack@eecs.umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 345083Sgblack@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 355083Sgblack@eecs.umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 365083Sgblack@eecs.umich.edu * 375083Sgblack@eecs.umich.edu * Authors: Gabe Black 385083Sgblack@eecs.umich.edu */ 395083Sgblack@eecs.umich.edu 4011793Sbrandon.potter@amd.com#include "arch/x86/insts/microfpop.hh" 4111793Sbrandon.potter@amd.com 428229Snate@binkert.org#include <string> 438229Snate@binkert.org 447629Sgblack@eecs.umich.edu#include "arch/x86/regs/misc.hh" 455083Sgblack@eecs.umich.edu 465083Sgblack@eecs.umich.edunamespace X86ISA 475083Sgblack@eecs.umich.edu{ 485083Sgblack@eecs.umich.edu /* 495083Sgblack@eecs.umich.edu uint64_t FpOp::genFlags(uint64_t oldFlags, uint64_t flagMask, 505083Sgblack@eecs.umich.edu uint64_t _dest, uint64_t _src1, uint64_t _src2, 515083Sgblack@eecs.umich.edu bool subtract) const 525083Sgblack@eecs.umich.edu { 535083Sgblack@eecs.umich.edu } 545083Sgblack@eecs.umich.edu */ 555083Sgblack@eecs.umich.edu 565083Sgblack@eecs.umich.edu std::string FpOp::generateDisassembly(Addr pc, 575083Sgblack@eecs.umich.edu const SymbolTable *symtab) const 585083Sgblack@eecs.umich.edu { 595083Sgblack@eecs.umich.edu std::stringstream response; 605083Sgblack@eecs.umich.edu 615083Sgblack@eecs.umich.edu printMnemonic(response, instMnem, mnemonic); 625083Sgblack@eecs.umich.edu printDestReg(response, 0, dataSize); 635083Sgblack@eecs.umich.edu response << ", "; 645083Sgblack@eecs.umich.edu printSrcReg(response, 0, dataSize); 655083Sgblack@eecs.umich.edu response << ", "; 665083Sgblack@eecs.umich.edu printSrcReg(response, 1, dataSize); 675083Sgblack@eecs.umich.edu return response.str(); 685083Sgblack@eecs.umich.edu } 695083Sgblack@eecs.umich.edu} 70