2 * arc-specific.h -- provide ARC-specific definitions
4 * Copyright (c) 2024 Synopsys Inc.
6 * The authors hereby grant permission to use, copy, modify, distribute,
7 * and license this software and its documentation for any purpose, provided
8 * that existing copyright notices are retained in all copies and that this
9 * notice is included verbatim in any distributions. No written agreement,
10 * license, or royalty fee is required for any of the authorized uses.
11 * Modifications to this software may be copyrighted by their authors
12 * and need not follow the licensing terms described here, provided that
13 * the new terms are clearly indicated on the first page of each file where
18 #ifndef _ARC_SPECIFIC_H
19 #define _ARC_SPECIFIC_H
21 /* First check for MetaWare compiler as it also defines __GNUC__. */
22 #if defined (__CCAC__)
23 #define read_aux_reg(r) _lr(r)
24 #define write_aux_reg(r, v) _sr((unsigned int)(v), r)
25 #elif defined (__GNUC__)
26 #define read_aux_reg(r) __builtin_arc_lr(r)
27 #define write_aux_reg(v, r) __builtin_arc_sr((unsigned int)(v), r)
29 #error "Unexpected compiler"
32 #endif /* _ARC_SPECIFIC_H */