1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * include/asm-arm/unified.h - Unified Assembler Syntax helper macros
5 * Copyright (C) 2008 ARM Limited
8 #ifndef __ASM_UNIFIED_H
9 #define __ASM_UNIFIED_H
11 #if defined(__ASSEMBLY__)
14 __asm__(".syntax unified");
18 #define AR_CLASS(x...)
19 #define M_CLASS(x...) x
21 #define AR_CLASS(x...) x
25 #ifdef CONFIG_THUMB2_KERNEL
28 #error Thumb-2 kernel requires gcc >= 4
31 /* The CPSR bit describing the instruction set (Thumb) */
32 #define PSR_ISETSTATE PSR_T_BIT
37 #define W(instr) instr.w
39 #define WASM(instr) #instr ".w"
42 #else /* !CONFIG_THUMB2_KERNEL */
44 /* The CPSR bit describing the instruction set (ARM) */
45 #define PSR_ISETSTATE 0
50 #define W(instr) instr
52 #define WASM(instr) #instr
55 #endif /* CONFIG_THUMB2_KERNEL */
57 #endif /* !__ASM_UNIFIED_H */