LLVM: lib/Support/SHA256.cpp File Reference (original) (raw)

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
Macros
#define SHR(x, c)
#define ROTR(x, n)
#define CH(x, y, z)
#define MAJ(x, y, z)
#define SIGMA_0(x)
#define SIGMA_1(x)
#define SIGMA_2(x)
#define SIGMA_3(x)
#define F_EXPAND(A, B, C, D, E, F, G, H, M1, M2, M3, M4, k)

CH

F_EXPAND

#define F_EXPAND ( A,
B,
C,
D,
E,
F,
G,
H,
M1,
M2,
M3,
M4,
k )

Value:

do { \

H += SIGMA_1(E) + CH(E, F, G) + M1 + k; \

D += H; \

H += SIGMA_0(A) + MAJ(A, B, C); \

M1 += SIGMA_2(M2) + M3 + SIGMA_3(M4); \

} while (0);

static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

Definition at line 43 of file SHA256.cpp.

MAJ

Value:

(((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))

Definition at line 35 of file SHA256.cpp.

ROTR

SHR

SIGMA_0

Value:

(ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22))

Definition at line 37 of file SHA256.cpp.

SIGMA_1

Value:

(ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25))

Definition at line 38 of file SHA256.cpp.

SIGMA_2

Value:

(ROTR(x, 17) ^ ROTR(x, 19) ^ SHR(x, 10))

Definition at line 40 of file SHA256.cpp.

SIGMA_3

Value:

(ROTR(x, 7) ^ ROTR(x, 18) ^ SHR(x, 3))

Definition at line 41 of file SHA256.cpp.