12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef _SPARC_ASM_H
- #define _SPARC_ASM_H
- /* Macros to assist the sharing of assembler code between 32-bit and
- * 64-bit sparc.
- */
- #ifdef CONFIG_SPARC64
- #define BRANCH32(TYPE, PREDICT, DEST) \
- TYPE,PREDICT %icc, DEST
- #define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \
- TYPE,a,PREDICT %icc, DEST
- #define BRANCH_REG_ZERO(PREDICT, REG, DEST) \
- brz,PREDICT REG, DEST
- #define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \
- brz,a,PREDICT REG, DEST
- #define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \
- brnz,PREDICT REG, DEST
- #define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \
- brnz,a,PREDICT REG, DEST
- #else
- #define BRANCH32(TYPE, PREDICT, DEST) \
- TYPE DEST
- #define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \
- TYPE,a DEST
- #define BRANCH_REG_ZERO(PREDICT, REG, DEST) \
- cmp REG, 0; \
- be DEST
- #define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \
- cmp REG, 0; \
- be,a DEST
- #define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \
- cmp REG, 0; \
- bne DEST
- #define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \
- cmp REG, 0; \
- bne,a DEST
- #endif
- #endif /* _SPARC_ASM_H */
|