|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  | #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 */ |