//++
// Copyright (c) 2006, Intel Corporation                                                         
// All rights reserved. This program and the accompanying materials                          
// are licensed and made available under the terms and conditions of the BSD License         
// which accompanies this distribution.  The full text of the license may be found at        
// http://opensource.org/licenses/bsd-license.php                                            
//                                                                                           
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             
// 
// Module Name:
//
//  Common.i
//
// Abstract:
//
//  This is set of useful macros
//
// Revision History:
//
//--

#define NESTED_SETUP(i,l,o,r)               \
         alloc loc1=ar##.##pfs,i,l,o,r ;    \
         mov loc0=b0 ;;


#define NESTED_RETURN                       \
         mov b0=loc0 ;                      \
         mov ar##.##pfs=loc1 ;;             \
         br##.##ret##.##dpnt  b0 ;;

#define MASK(bp,value)  (value << bp)

