1 /* brig-signal-inst-handler.cc -- brig signal instruction handling 2 Copyright (C) 2016-2020 Free Software Foundation, Inc. 3 Contributed by Pekka Jaaskelainen <pekka.jaaskelainen@parmance.com> 4 for General Processor Tech. 5 6 This file is part of GCC. 7 8 GCC is free software; you can redistribute it and/or modify it under 9 the terms of the GNU General Public License as published by the Free 10 Software Foundation; either version 3, or (at your option) any later 11 version. 12 13 GCC is distributed in the hope that it will be useful, but WITHOUT ANY 14 WARRANTY; without even the implied warranty of MERCHANTABILITY or 15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GCC; see the file COPYING3. If not see 20 <http://www.gnu.org/licenses/>. */ 21 22 #include <sstream> 23 24 #include "brig-code-entry-handler.h" 25 #include "brig-util.h" 26 #include "fold-const.h" 27 #include "diagnostic.h" 28 #include "tree-pretty-print.h" 29 #include "print-tree.h" 30 #include "convert.h" 31 #include "langhooks.h" 32 #include "gimple-expr.h" 33 34 size_t operator ()(const BrigBase * base)35brig_signal_inst_handler::operator () (const BrigBase *base) 36 { 37 const BrigInstSignal *inst = (const BrigInstSignal *) base; 38 BrigAtomicOperation8_t atomic_opcode; 39 atomic_opcode = inst->signalOperation; 40 41 return generate_tree (inst->base, atomic_opcode); 42 } 43