x86_traits.hh revision 5075
14134Sgblack@eecs.umich.edu/*
24134Sgblack@eecs.umich.edu * Copyright (c) 2007 The Hewlett-Packard Development Company
34134Sgblack@eecs.umich.edu * All rights reserved.
44134Sgblack@eecs.umich.edu *
54134Sgblack@eecs.umich.edu * Redistribution and use of this software in source and binary forms,
64134Sgblack@eecs.umich.edu * with or without modification, are permitted provided that the
74134Sgblack@eecs.umich.edu * following conditions are met:
84134Sgblack@eecs.umich.edu *
94134Sgblack@eecs.umich.edu * The software must be used only for Non-Commercial Use which means any
104134Sgblack@eecs.umich.edu * use which is NOT directed to receiving any direct monetary
114134Sgblack@eecs.umich.edu * compensation for, or commercial advantage from such use.  Illustrative
124134Sgblack@eecs.umich.edu * examples of non-commercial use are academic research, personal study,
134134Sgblack@eecs.umich.edu * teaching, education and corporate research & development.
144134Sgblack@eecs.umich.edu * Illustrative examples of commercial use are distributing products for
154134Sgblack@eecs.umich.edu * commercial advantage and providing services using the software for
164134Sgblack@eecs.umich.edu * commercial advantage.
174134Sgblack@eecs.umich.edu *
184134Sgblack@eecs.umich.edu * If you wish to use this software or functionality therein that may be
194134Sgblack@eecs.umich.edu * covered by patents for commercial use, please contact:
204134Sgblack@eecs.umich.edu *     Director of Intellectual Property Licensing
214134Sgblack@eecs.umich.edu *     Office of Strategy and Technology
224134Sgblack@eecs.umich.edu *     Hewlett-Packard Company
234134Sgblack@eecs.umich.edu *     1501 Page Mill Road
244134Sgblack@eecs.umich.edu *     Palo Alto, California  94304
254134Sgblack@eecs.umich.edu *
264134Sgblack@eecs.umich.edu * Redistributions of source code must retain the above copyright notice,
274134Sgblack@eecs.umich.edu * this list of conditions and the following disclaimer.  Redistributions
284134Sgblack@eecs.umich.edu * in binary form must reproduce the above copyright notice, this list of
294134Sgblack@eecs.umich.edu * conditions and the following disclaimer in the documentation and/or
304134Sgblack@eecs.umich.edu * other materials provided with the distribution.  Neither the name of
314134Sgblack@eecs.umich.edu * the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its
324134Sgblack@eecs.umich.edu * contributors may be used to endorse or promote products derived from
334134Sgblack@eecs.umich.edu * this software without specific prior written permission.  No right of
344134Sgblack@eecs.umich.edu * sublicense is granted herewith.  Derivatives of the software and
354134Sgblack@eecs.umich.edu * output created using the software may be prepared, but only for
364134Sgblack@eecs.umich.edu * Non-Commercial Uses.  Derivatives of the software may be shared with
374134Sgblack@eecs.umich.edu * others provided: (i) the others agree to abide by the list of
384134Sgblack@eecs.umich.edu * conditions herein which includes the Non-Commercial Use restrictions;
394134Sgblack@eecs.umich.edu * and (ii) such Derivatives of the software include the above copyright
404134Sgblack@eecs.umich.edu * notice to acknowledge the contribution from this software where
414134Sgblack@eecs.umich.edu * applicable, this list of conditions and the disclaimer below.
424134Sgblack@eecs.umich.edu *
434134Sgblack@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
444134Sgblack@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
454134Sgblack@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
464134Sgblack@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
474134Sgblack@eecs.umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
484134Sgblack@eecs.umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
494134Sgblack@eecs.umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
504134Sgblack@eecs.umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
514134Sgblack@eecs.umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
524134Sgblack@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
534134Sgblack@eecs.umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
544134Sgblack@eecs.umich.edu *
554134Sgblack@eecs.umich.edu * Authors: Gabe Black
564134Sgblack@eecs.umich.edu */
574134Sgblack@eecs.umich.edu
584134Sgblack@eecs.umich.edu#ifndef __ARCH_X86_X86TRAITS_HH__
594134Sgblack@eecs.umich.edu#define __ARCH_X86_X86TRAITS_HH__
604134Sgblack@eecs.umich.edu
614134Sgblack@eecs.umich.edunamespace X86ISA
624134Sgblack@eecs.umich.edu{
634578Sgblack@eecs.umich.edu    const int NumMicroIntRegs = 16;
645063Sgblack@eecs.umich.edu
654682Sgblack@eecs.umich.edu    const int NumPseudoIntRegs = 1;
665063Sgblack@eecs.umich.edu    //1. The condition code bits of the rflags register.
675075Sgblack@eecs.umich.edu    const int NumImplicitIntRegs = 5;
685063Sgblack@eecs.umich.edu    //1. The lower part of the result of multiplication.
695063Sgblack@eecs.umich.edu    //2. The upper part of the result of multiplication.
705063Sgblack@eecs.umich.edu    //3. The quotient from division
715063Sgblack@eecs.umich.edu    //4. The remainder from division
725075Sgblack@eecs.umich.edu    //5. The divisor for division
734134Sgblack@eecs.umich.edu
744134Sgblack@eecs.umich.edu    const int NumMMXRegs = 8;
754134Sgblack@eecs.umich.edu    const int NumXMMRegs = 16;
765045Sgblack@eecs.umich.edu    const int NumMicroFpRegs = 8;
775025Sgblack@eecs.umich.edu
785025Sgblack@eecs.umich.edu    const int NumCRegs = 16;
795025Sgblack@eecs.umich.edu    const int NumDRegs = 8;
805025Sgblack@eecs.umich.edu
815025Sgblack@eecs.umich.edu    const int NumSegments = 6;
825025Sgblack@eecs.umich.edu    const int NumSysSegments = 4;
834134Sgblack@eecs.umich.edu}
844134Sgblack@eecs.umich.edu
854134Sgblack@eecs.umich.edu#endif //__ARCH_X86_X86TRAITS_HH__
86