diff options
author | David S. Miller <davem@davemloft.net> | 2008-12-09 03:50:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-09 03:50:13 -0500 |
commit | 5c03d590910a6ccddc144b382b0ecdb122c349f3 (patch) | |
tree | 5ceb31c735376cadadf49494c18431b118e1dfab /arch/sparc/include | |
parent | 8bf68e4d90c4ad862356679ab616726eee1abf93 (diff) |
sparc: Add asm/asm.h
This will contain macros that help share assembler code
between the 32-bit and 64-bit platform.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/asm.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/asm.h b/arch/sparc/include/asm/asm.h new file mode 100644 index 000000000000..e8e1d94b4cc9 --- /dev/null +++ b/arch/sparc/include/asm/asm.h | |||
@@ -0,0 +1,40 @@ | |||
1 | #ifndef _SPARC_ASM_H | ||
2 | #define _SPARC_ASM_H | ||
3 | |||
4 | /* Macros to assist the sharing of assembler code between 32-bit and | ||
5 | * 64-bit sparc. | ||
6 | */ | ||
7 | |||
8 | #ifdef CONFIG_SPARC64 | ||
9 | #define BRANCH32(TYPE, PREDICT, DEST) \ | ||
10 | TYPE,PREDICT %icc, DEST | ||
11 | #define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \ | ||
12 | TYPE,a,PREDICT %icc, DEST | ||
13 | #define BRANCH_REG_ZERO(PREDICT, REG, DEST) \ | ||
14 | brz,PREDICT REG, DEST | ||
15 | #define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \ | ||
16 | brz,a,PREDICT REG, DEST | ||
17 | #define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \ | ||
18 | brnz,PREDICT REG, DEST | ||
19 | #define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \ | ||
20 | brnz,a,PREDICT REG, DEST | ||
21 | #else | ||
22 | #define BRANCH32(TYPE, PREDICT, DEST) \ | ||
23 | TYPE DEST | ||
24 | #define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \ | ||
25 | TYPE,a DEST | ||
26 | #define BRANCH_REG_ZERO(PREDICT, REG, DEST) \ | ||
27 | cmp REG, 0; \ | ||
28 | be DEST | ||
29 | #define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \ | ||
30 | cmp REG, 0; \ | ||
31 | be,a DEST | ||
32 | #define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \ | ||
33 | cmp REG, 0; \ | ||
34 | bne DEST | ||
35 | #define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \ | ||
36 | cmp REG, 0; \ | ||
37 | bne,a DEST | ||
38 | #endif | ||
39 | |||
40 | #endif /* _SPARC_ASM_H */ | ||