Linux Audio

Check our new training course

Loading...
v4.17
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _SPARC_ASM_H
 3#define _SPARC_ASM_H
 4
 5/* Macros to assist the sharing of assembler code between 32-bit and
 6 * 64-bit sparc.
 7 */
 8
 9#ifdef CONFIG_SPARC64
10#define BRANCH32(TYPE, PREDICT, DEST) \
11	TYPE,PREDICT	%icc, DEST
12#define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \
13	TYPE,a,PREDICT	%icc, DEST
14#define BRANCH_REG_ZERO(PREDICT, REG, DEST) \
15	brz,PREDICT	REG, DEST
16#define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \
17	brz,a,PREDICT	REG, DEST
18#define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \
19	brnz,PREDICT	REG, DEST
20#define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \
21	brnz,a,PREDICT	REG, DEST
22#else
23#define BRANCH32(TYPE, PREDICT, DEST) \
24	TYPE		DEST
25#define BRANCH32_ANNUL(TYPE, PREDICT, DEST) \
26	TYPE,a		DEST
27#define BRANCH_REG_ZERO(PREDICT, REG, DEST) \
28	cmp		REG, 0; \
29	be		DEST
30#define BRANCH_REG_ZERO_ANNUL(PREDICT, REG, DEST) \
31	cmp		REG, 0; \
32	be,a		DEST
33#define BRANCH_REG_NOT_ZERO(PREDICT, REG, DEST) \
34	cmp		REG, 0; \
35	bne		DEST
36#define BRANCH_REG_NOT_ZERO_ANNUL(PREDICT, REG, DEST) \
37	cmp		REG, 0; \
38	bne,a		DEST
39#endif
40
41#endif /* _SPARC_ASM_H */
v3.5.6
 
 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 */