blob: c73815e0123a756bc0579806c7e8333b26712d08 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Maciej W. Rozycki09abbcf2007-09-17 17:11:07 +01002 * Copyright (C) 2004, 2007 Maciej W. Rozycki
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 */
8#ifndef _ASM_COMPILER_H
9#define _ASM_COMPILER_H
10
11#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
Ralf Baechlead1d77a2008-05-01 15:28:53 +010012#define GCC_IMM_ASM() "n"
Linus Torvalds1da177e2005-04-16 15:20:36 -070013#define GCC_REG_ACCUM "$0"
14#else
Ralf Baechlead1d77a2008-05-01 15:28:53 +010015#define GCC_IMM_ASM() "rn"
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#define GCC_REG_ACCUM "accum"
17#endif
18
Maciej W. Rozyckib0984c42014-11-15 22:08:48 +000019#ifndef CONFIG_CPU_MICROMIPS
20#define GCC_OFF12_ASM() "R"
21#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)
22#define GCC_OFF12_ASM() "ZC"
23#else
24#error "microMIPS compilation unsupported with GCC older than 4.9"
25#endif
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027#endif /* _ASM_COMPILER_H */