1#ifndef ALCHEMY_TRANSFORM_H
2#define ALCHEMY_TRANSFORM_H
18 CAMELOT_ASM(
"three stmia no C store or copy compiles to")
19 __asm__
volatile(
"mov r0, %0\n\tmov r1, #128\n\tmov r2, #0\n\tmov r3, #0\n\t"
20 "mov r4, #0\n\tlsl r1, r1, #9\n\t"
21 "stmia r0!, {r1, r2, r3, r4}\n\t"
22 "stmia r0!, {r1, r2, r3, r4}\n\t"
23 "stmia r0!, {r1, r2, r3, r4}"
26 :
"r0",
"r1",
"r2",
"r3",
"r4",
"memory");
31#define TRANSFORM_IDENTITY_REGISTER_SETUP \
32 "mov r0, %1\n\tmov r1, #128\n\tmov r2, #0\n\tmov %0, #0\n\t" \
33 "mov r4, #0\n\tlsl r1, r1, #9\n\t"
40 "Transform_SetIdentity's three stmia, applied to the current matrix")
42 "stmia r0!, {r1, r2, %0, r4}\n\t"
43 "stmia r0!, {r1, r2, %0, r4}\n\t"
44 "stmia r0!, {r1, r2, %0, r4}"
47 :
"r0",
"r1",
"r2",
"r4",
"memory");
50#undef TRANSFORM_IDENTITY_REGISTER_SETUP
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
The integer types, TRUE, UNUSED and the fixed-address macros.
#define CAMELOT_ASM(proof)