op_class.hh revision 13168:4965381c122d
12SN/A/*
21762SN/A * Copyright (c) 2010,2018 ARM Limited
32SN/A * All rights reserved
42SN/A *
52SN/A * The license below extends only to copyright in the software and shall
62SN/A * not be construed as granting a license to any other intellectual
72SN/A * property including but not limited to intellectual property relating
82SN/A * to a hardware implementation of the functionality of the software
92SN/A * licensed hereunder.  You may use the software subject to the license
102SN/A * terms below provided that you ensure that this notice is replicated
112SN/A * unmodified and in its entirety in all distributions of the software,
122SN/A * modified or unmodified, in source code or in binary form.
132SN/A *
142SN/A * Copyright (c) 2003-2005 The Regents of The University of Michigan
152SN/A * All rights reserved.
162SN/A *
172SN/A * Redistribution and use in source and binary forms, with or without
182SN/A * modification, are permitted provided that the following conditions are
192SN/A * met: redistributions of source code must retain the above copyright
202SN/A * notice, this list of conditions and the following disclaimer;
212SN/A * redistributions in binary form must reproduce the above copyright
222SN/A * notice, this list of conditions and the following disclaimer in the
232SN/A * documentation and/or other materials provided with the distribution;
242SN/A * neither the name of the copyright holders nor the names of its
252SN/A * contributors may be used to endorse or promote products derived from
262SN/A * this software without specific prior written permission.
272665Ssaidi@eecs.umich.edu *
282665Ssaidi@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
292665Ssaidi@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
302665Ssaidi@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
312665Ssaidi@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
322SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
332SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
342SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
352SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
367349SAli.Saidi@ARM.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
377680Sgblack@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3856SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
398229Snate@binkert.org *
401717SN/A * Authors: Nathan Binkert
412518SN/A */
4256SN/A
434776Sgblack@eecs.umich.edu#ifndef __CPU__OP_CLASS_HH__
444762Snate@binkert.org#define __CPU__OP_CLASS_HH__
453065Sgblack@eecs.umich.edu
462SN/A#include "enums/OpClass.hh"
472973Sgblack@eecs.umich.edu
482SN/A/*
493506Ssaidi@eecs.umich.edu * Do a bunch of wonky stuff to maintain backward compatability so I
504054Sbinkertn@umich.edu * don't have to change code in a zillion places.
514054Sbinkertn@umich.edu */
525866Sksewell@umich.eduusing Enums::OpClass;
535866Sksewell@umich.eduusing Enums::No_OpClass;
545866Sksewell@umich.edu
555866Sksewell@umich.edustatic const OpClass IntAluOp = Enums::IntAlu;
565866Sksewell@umich.edustatic const OpClass IntMultOp = Enums::IntMult;
575866Sksewell@umich.edustatic const OpClass IntDivOp = Enums::IntDiv;
585784Sgblack@eecs.umich.edustatic const OpClass FloatAddOp = Enums::FloatAdd;
594054Sbinkertn@umich.edustatic const OpClass FloatCmpOp = Enums::FloatCmp;
604776Sgblack@eecs.umich.edustatic const OpClass FloatCvtOp = Enums::FloatCvt;
614054Sbinkertn@umich.edustatic const OpClass FloatMultOp = Enums::FloatMult;
624776Sgblack@eecs.umich.edustatic const OpClass FloatMultAccOp = Enums::FloatMultAcc;
635866Sksewell@umich.edustatic const OpClass FloatDivOp = Enums::FloatDiv;
644054Sbinkertn@umich.edustatic const OpClass FloatMiscOp = Enums::FloatMisc;
654776Sgblack@eecs.umich.edustatic const OpClass FloatSqrtOp = Enums::FloatSqrt;
664054Sbinkertn@umich.edustatic const OpClass SimdAddOp = Enums::SimdAdd;
674776Sgblack@eecs.umich.edustatic const OpClass SimdAddAccOp = Enums::SimdAddAcc;
684776Sgblack@eecs.umich.edustatic const OpClass SimdAluOp = Enums::SimdAlu;
694054Sbinkertn@umich.edustatic const OpClass SimdCmpOp = Enums::SimdCmp;
704776Sgblack@eecs.umich.edustatic const OpClass SimdCvtOp = Enums::SimdCvt;
715715Shsul@eecs.umich.edustatic const OpClass SimdMiscOp = Enums::SimdMisc;
724776Sgblack@eecs.umich.edustatic const OpClass SimdMultOp = Enums::SimdMult;
734776Sgblack@eecs.umich.edustatic const OpClass SimdMultAccOp = Enums::SimdMultAcc;
744776Sgblack@eecs.umich.edustatic const OpClass SimdShiftOp = Enums::SimdShift;
757720Sgblack@eecs.umich.edustatic const OpClass SimdShiftAccOp = Enums::SimdShiftAcc;
764776Sgblack@eecs.umich.edustatic const OpClass SimdSqrtOp = Enums::SimdSqrt;
774776Sgblack@eecs.umich.edustatic const OpClass SimdFloatAddOp = Enums::SimdFloatAdd;
785947Sgblack@eecs.umich.edustatic const OpClass SimdFloatAluOp = Enums::SimdFloatAlu;
795947Sgblack@eecs.umich.edustatic const OpClass SimdFloatCmpOp = Enums::SimdFloatCmp;
805947Sgblack@eecs.umich.edustatic const OpClass SimdFloatCvtOp = Enums::SimdFloatCvt;
817349SAli.Saidi@ARM.comstatic const OpClass SimdFloatDivOp = Enums::SimdFloatDiv;
827349SAli.Saidi@ARM.comstatic const OpClass SimdFloatMiscOp = Enums::SimdFloatMisc;
837349SAli.Saidi@ARM.comstatic const OpClass SimdFloatMultOp = Enums::SimdFloatMult;
845784Sgblack@eecs.umich.edustatic const OpClass SimdFloatMultAccOp = Enums::SimdFloatMultAcc;
857720Sgblack@eecs.umich.edustatic const OpClass SimdFloatSqrtOp = Enums::SimdFloatSqrt;
867349SAli.Saidi@ARM.comstatic const OpClass SimdSha1HashOp = Enums::SimdSha1Hash;
874776Sgblack@eecs.umich.edustatic const OpClass SimdSha1Hash2Op = Enums::SimdSha1Hash2;
884776Sgblack@eecs.umich.edustatic const OpClass SimdSha256HashOp = Enums::SimdSha256Hash;
895784Sgblack@eecs.umich.edustatic const OpClass SimdSha256Hash2Op = Enums::SimdSha256Hash2;
907720Sgblack@eecs.umich.edustatic const OpClass SimdShaSigma2Op = Enums::SimdShaSigma2;
915784Sgblack@eecs.umich.edustatic const OpClass SimdShaSigma3Op = Enums::SimdShaSigma3;
925784Sgblack@eecs.umich.edustatic const OpClass MemReadOp = Enums::MemRead;
935784Sgblack@eecs.umich.edustatic const OpClass MemWriteOp = Enums::MemWrite;
945784Sgblack@eecs.umich.edustatic const OpClass FloatMemReadOp = Enums::FloatMemRead;
955784Sgblack@eecs.umich.edustatic const OpClass FloatMemWriteOp = Enums::FloatMemWrite;
965784Sgblack@eecs.umich.edustatic const OpClass IprAccessOp = Enums::IprAccess;
974776Sgblack@eecs.umich.edustatic const OpClass InstPrefetchOp = Enums::InstPrefetch;
984776Sgblack@eecs.umich.edustatic const OpClass Num_OpClasses = Enums::Num_OpClass;
994776Sgblack@eecs.umich.edu
1004776Sgblack@eecs.umich.edu#endif // __CPU__OP_CLASS_HH__
1014776Sgblack@eecs.umich.edu