Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
xor.h File Reference
#include <asm-generic/xor.h>

Go to the source code of this file.

Macros

#define __XOR(a1, a2)   a1 ^= a2
 
#define GET_BLOCK_2(dst)
 
#define GET_BLOCK_4(dst)
 
#define XOR_BLOCK_2(src)
 
#define XOR_BLOCK_4(src)
 
#define PUT_BLOCK_2(dst)
 
#define PUT_BLOCK_4(dst)
 
#define XOR_TRY_TEMPLATES
 

Macro Definition Documentation

#define __XOR (   a1,
  a2 
)    a1 ^= a2

Definition at line 12 of file xor.h.

#define GET_BLOCK_2 (   dst)
Value:
__asm__("ldmia %0, {%1, %2}" \
: "=r" (dst), "=r" (a1), "=r" (a2) \
: "0" (dst))

Definition at line 14 of file xor.h.

#define GET_BLOCK_4 (   dst)
Value:
__asm__("ldmia %0, {%1, %2, %3, %4}" \
: "=r" (dst), "=r" (a1), "=r" (a2), "=r" (a3), "=r" (a4) \
: "0" (dst))

Definition at line 19 of file xor.h.

#define PUT_BLOCK_2 (   dst)
Value:
__asm__ __volatile__("stmia %0!, {%2, %3}" \
: "=r" (dst) \
: "0" (dst), "r" (a1), "r" (a2))

Definition at line 36 of file xor.h.

#define PUT_BLOCK_4 (   dst)
Value:
__asm__ __volatile__("stmia %0!, {%2, %3, %4, %5}" \
: "=r" (dst) \
: "0" (dst), "r" (a1), "r" (a2), "r" (a3), "r" (a4))

Definition at line 41 of file xor.h.

#define XOR_BLOCK_2 (   src)
Value:
__asm__("ldmia %0!, {%1, %2}" \
: "=r" (src), "=r" (b1), "=r" (b2) \
: "0" (src)); \
__XOR(a1, b1); __XOR(a2, b2);

Definition at line 24 of file xor.h.

#define XOR_BLOCK_4 (   src)
Value:
__asm__("ldmia %0!, {%1, %2, %3, %4}" \
: "=r" (src), "=r" (b1), "=r" (b2), "=r" (b3), "=r" (b4) \
: "0" (src)); \
__XOR(a1, b1); __XOR(a2, b2); __XOR(a3, b3); __XOR(a4, b4)

Definition at line 30 of file xor.h.

#define XOR_TRY_TEMPLATES
Value:
do { \
xor_speed(&xor_block_arm4regs); \
xor_speed(&xor_block_8regs); \
xor_speed(&xor_block_32regs); \
} while (0)

Definition at line 136 of file xor.h.