op_class.hh revision 11683:f1e198a028be
13914Ssaidi@eecs.umich.edu/* 28332Snate@binkert.org * Copyright (c) 2010 ARM Limited 33914Ssaidi@eecs.umich.edu * All rights reserved 43914Ssaidi@eecs.umich.edu * 53914Ssaidi@eecs.umich.edu * The license below extends only to copyright in the software and shall 63914Ssaidi@eecs.umich.edu * not be construed as granting a license to any other intellectual 73914Ssaidi@eecs.umich.edu * property including but not limited to intellectual property relating 83914Ssaidi@eecs.umich.edu * to a hardware implementation of the functionality of the software 93914Ssaidi@eecs.umich.edu * licensed hereunder. You may use the software subject to the license 103914Ssaidi@eecs.umich.edu * terms below provided that you ensure that this notice is replicated 113914Ssaidi@eecs.umich.edu * unmodified and in its entirety in all distributions of the software, 123914Ssaidi@eecs.umich.edu * modified or unmodified, in source code or in binary form. 133914Ssaidi@eecs.umich.edu * 143914Ssaidi@eecs.umich.edu * Copyright (c) 2003-2005 The Regents of The University of Michigan 153914Ssaidi@eecs.umich.edu * All rights reserved. 163914Ssaidi@eecs.umich.edu * 173914Ssaidi@eecs.umich.edu * Redistribution and use in source and binary forms, with or without 183914Ssaidi@eecs.umich.edu * modification, are permitted provided that the following conditions are 193914Ssaidi@eecs.umich.edu * met: redistributions of source code must retain the above copyright 203914Ssaidi@eecs.umich.edu * notice, this list of conditions and the following disclaimer; 213914Ssaidi@eecs.umich.edu * redistributions in binary form must reproduce the above copyright 223914Ssaidi@eecs.umich.edu * notice, this list of conditions and the following disclaimer in the 233914Ssaidi@eecs.umich.edu * documentation and/or other materials provided with the distribution; 243914Ssaidi@eecs.umich.edu * neither the name of the copyright holders nor the names of its 253914Ssaidi@eecs.umich.edu * contributors may be used to endorse or promote products derived from 263914Ssaidi@eecs.umich.edu * this software without specific prior written permission. 273914Ssaidi@eecs.umich.edu * 283914Ssaidi@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 293914Ssaidi@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 303914Ssaidi@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 313914Ssaidi@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 323914Ssaidi@eecs.umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 333914Ssaidi@eecs.umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 343914Ssaidi@eecs.umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 353914Ssaidi@eecs.umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 363914Ssaidi@eecs.umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 373914Ssaidi@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 383914Ssaidi@eecs.umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 393943Sbinkertn@umich.edu * 403943Sbinkertn@umich.edu * Authors: Nathan Binkert 413914Ssaidi@eecs.umich.edu */ 424762Snate@binkert.org 433914Ssaidi@eecs.umich.edu#ifndef __CPU__OP_CLASS_HH__ 443914Ssaidi@eecs.umich.edu#define __CPU__OP_CLASS_HH__ 453914Ssaidi@eecs.umich.edu 463914Ssaidi@eecs.umich.edu#include "enums/OpClass.hh" 473914Ssaidi@eecs.umich.edu 483914Ssaidi@eecs.umich.edu/* 493914Ssaidi@eecs.umich.edu * Do a bunch of wonky stuff to maintain backward compatability so I 503914Ssaidi@eecs.umich.edu * don't have to change code in a zillion places. 513914Ssaidi@eecs.umich.edu */ 523914Ssaidi@eecs.umich.eduusing Enums::OpClass; 533914Ssaidi@eecs.umich.eduusing Enums::No_OpClass; 544762Snate@binkert.org 554762Snate@binkert.orgstatic const OpClass IntAluOp = Enums::IntAlu; 564762Snate@binkert.orgstatic const OpClass IntMultOp = Enums::IntMult; 574762Snate@binkert.orgstatic const OpClass IntDivOp = Enums::IntDiv; 584762Snate@binkert.orgstatic const OpClass FloatAddOp = Enums::FloatAdd; 593914Ssaidi@eecs.umich.edustatic const OpClass FloatCmpOp = Enums::FloatCmp; 604762Snate@binkert.orgstatic const OpClass FloatCvtOp = Enums::FloatCvt; 614762Snate@binkert.orgstatic const OpClass FloatMultOp = Enums::FloatMult; 623914Ssaidi@eecs.umich.edustatic const OpClass FloatMultAccOp = Enums::FloatMultAcc; 633914Ssaidi@eecs.umich.edustatic const OpClass FloatDivOp = Enums::FloatDiv; 643914Ssaidi@eecs.umich.edustatic const OpClass FloatMiscOp = Enums::FloatMisc; 653990Ssaidi@eecs.umich.edustatic const OpClass FloatSqrtOp = Enums::FloatSqrt; 6611168Sandreas.hansson@arm.comstatic const OpClass SimdAddOp = Enums::SimdAdd; 6711168Sandreas.hansson@arm.comstatic const OpClass SimdAddAccOp = Enums::SimdAddAcc; 683914Ssaidi@eecs.umich.edustatic const OpClass SimdAluOp = Enums::SimdAlu; 693914Ssaidi@eecs.umich.edustatic const OpClass SimdCmpOp = Enums::SimdCmp; 703914Ssaidi@eecs.umich.edustatic const OpClass SimdCvtOp = Enums::SimdCvt; 71static const OpClass SimdMiscOp = Enums::SimdMisc; 72static const OpClass SimdMultOp = Enums::SimdMult; 73static const OpClass SimdMultAccOp = Enums::SimdMultAcc; 74static const OpClass SimdShiftOp = Enums::SimdShift; 75static const OpClass SimdShiftAccOp = Enums::SimdShiftAcc; 76static const OpClass SimdSqrtOp = Enums::SimdSqrt; 77static const OpClass SimdFloatAddOp = Enums::SimdFloatAdd; 78static const OpClass SimdFloatAluOp = Enums::SimdFloatAlu; 79static const OpClass SimdFloatCmpOp = Enums::SimdFloatCmp; 80static const OpClass SimdFloatCvtOp = Enums::SimdFloatCvt; 81static const OpClass SimdFloatDivOp = Enums::SimdFloatDiv; 82static const OpClass SimdFloatMiscOp = Enums::SimdFloatMisc; 83static const OpClass SimdFloatMultOp = Enums::SimdFloatMult; 84static const OpClass SimdFloatMultAccOp = Enums::SimdFloatMultAcc; 85static const OpClass SimdFloatSqrtOp = Enums::SimdFloatSqrt; 86static const OpClass MemReadOp = Enums::MemRead; 87static const OpClass MemWriteOp = Enums::MemWrite; 88static const OpClass FloatMemReadOp = Enums::FloatMemRead; 89static const OpClass FloatMemWriteOp = Enums::FloatMemWrite; 90static const OpClass IprAccessOp = Enums::IprAccess; 91static const OpClass InstPrefetchOp = Enums::InstPrefetch; 92static const OpClass Num_OpClasses = Enums::Num_OpClass; 93 94#endif // __CPU__OP_CLASS_HH__ 95