diff options
author | Greg Still <stillgs@us.ibm.com> | 2015-04-14 08:29:05 -0500 |
---|---|---|
committer | Derk Rembold <rembold@de.ibm.com> | 2015-05-21 06:33:16 -0500 |
commit | 1ebc3c0868c74833aabe3775509d65ae29cd4925 (patch) | |
tree | b85f6a2891937e74eb2e8771e866951f732aa97a /include/proc_hcd_common.H | |
parent | 44825c566df19373078b509251e2411b94dcda5d (diff) | |
download | talos-sbe-1ebc3c0868c74833aabe3775509d65ae29cd4925.tar.gz talos-sbe-1ebc3c0868c74833aabe3775509d65ae29cd4925.zip |
Add common ppe_compiler.mk and proc_hcd_common.H
- ppe_compiler.mk for pointing to the common PPE compiler across platforms
- proc_hcd_common.H for things common across PPE HCD procedures
Change-Id: Ic8883a655eacfcd860e0036c516555ab12984d08
New PPE getscom routines leveragin upgraded compiler
- Pass pointers to data elements to use indexed lvdx/stvdx instructions
Change-Id: I7b99393919bc533bac5743001ee2c50b778eb2b2
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17172
Reviewed-by: Glenn R. Miles <milesg@us.ibm.com>
Reviewed-by: Brian Silver <bsilver@us.ibm.com>
Reviewed-by: Derk Rembold <rembold@de.ibm.com>
Tested-by: Derk Rembold <rembold@de.ibm.com>
Diffstat (limited to 'include/proc_hcd_common.H')
-rw-r--r-- | include/proc_hcd_common.H | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/proc_hcd_common.H b/include/proc_hcd_common.H new file mode 100644 index 00000000..51cc1285 --- /dev/null +++ b/include/proc_hcd_common.H @@ -0,0 +1,20 @@ +#ifndef __PROC_HCD_COMMON_H +#define __PROC_HCD_COMMON_H + +/// \file proc_hcd_common.H +/// \brief Standard bit-manipulation macros (C and Assembler) for PORE code + +/// \defgroup be64_bits Bit manipulation for 64-bit Big-Endian values +/// +/// \note These macros only work in the assembler context because we build our +/// assemblers to do 64-bit arithmetic, which is required for PORE assembly. +/// +/// @{ + +/// Create a multi-bit mask of \a n bits starting at bit \a b +#define BITS(b, n) ((ULL(0xffffffffffffffff) << (64 - (n))) >> (b)) + +/// Create a single bit mask at bit \a b +#define BIT(b) BITS((b), 1) + +#endif // __PROC_HCD_COMMON_H |