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