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 */ 41