1 /// @file
2 ///  This is set of useful macros.
3 ///
4 /// Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
5 /// This program and the accompanying materials
6 /// are licensed and made available under the terms and conditions of the BSD License
7 /// which accompanies this distribution.  The full text of the license may be found at
8 /// http://opensource.org/licenses/bsd-license.php
9 ///
10 /// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 /// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 ///
13 /// Module Name: Common.i
14 ///
15 ///
16 
17 
18 #define NESTED_SETUP(i,l,o,r)               \
19          alloc loc1=ar##.##pfs,i,l,o,r ;    \
20          mov loc0=b0 ;;
21 
22 
23 #define NESTED_RETURN                       \
24          mov b0=loc0 ;                      \
25          mov ar##.##pfs=loc1 ;;             \
26          br##.##ret##.##dpnt  b0 ;;
27 
28 #define MASK(bp,value)  (value << bp)
29 
30