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