[PATCH 22/57][Arm][GAS] Add support for MVE instructions: vmlaldav, vmlalv, vmlsldav...
[binutils-gdb.git] / sim / frv / cpu.c
blobf274fae042be9e5db761c4e2a3ade11fb196adb9
1 /* Misc. support for CPU family frvbf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2019 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This file is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3, or (at your option)
12 any later version.
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, see <http://www.gnu.org/licenses/>.
24 #define WANT_CPU frvbf
25 #define WANT_CPU_FRVBF
27 #include "sim-main.h"
28 #include "cgen-ops.h"
30 /* Get the value of h-reloc-ann. */
33 frvbf_h_reloc_ann_get (SIM_CPU *current_cpu)
35 return CPU (h_reloc_ann);
38 /* Set a value for h-reloc-ann. */
40 void
41 frvbf_h_reloc_ann_set (SIM_CPU *current_cpu, BI newval)
43 CPU (h_reloc_ann) = newval;
46 /* Get the value of h-pc. */
48 USI
49 frvbf_h_pc_get (SIM_CPU *current_cpu)
51 return CPU (h_pc);
54 /* Set a value for h-pc. */
56 void
57 frvbf_h_pc_set (SIM_CPU *current_cpu, USI newval)
59 CPU (h_pc) = newval;
62 /* Get the value of h-psr_imple. */
64 UQI
65 frvbf_h_psr_imple_get (SIM_CPU *current_cpu)
67 return CPU (h_psr_imple);
70 /* Set a value for h-psr_imple. */
72 void
73 frvbf_h_psr_imple_set (SIM_CPU *current_cpu, UQI newval)
75 CPU (h_psr_imple) = newval;
78 /* Get the value of h-psr_ver. */
80 UQI
81 frvbf_h_psr_ver_get (SIM_CPU *current_cpu)
83 return CPU (h_psr_ver);
86 /* Set a value for h-psr_ver. */
88 void
89 frvbf_h_psr_ver_set (SIM_CPU *current_cpu, UQI newval)
91 CPU (h_psr_ver) = newval;
94 /* Get the value of h-psr_ice. */
97 frvbf_h_psr_ice_get (SIM_CPU *current_cpu)
99 return CPU (h_psr_ice);
102 /* Set a value for h-psr_ice. */
104 void
105 frvbf_h_psr_ice_set (SIM_CPU *current_cpu, BI newval)
107 CPU (h_psr_ice) = newval;
110 /* Get the value of h-psr_nem. */
113 frvbf_h_psr_nem_get (SIM_CPU *current_cpu)
115 return CPU (h_psr_nem);
118 /* Set a value for h-psr_nem. */
120 void
121 frvbf_h_psr_nem_set (SIM_CPU *current_cpu, BI newval)
123 CPU (h_psr_nem) = newval;
126 /* Get the value of h-psr_cm. */
129 frvbf_h_psr_cm_get (SIM_CPU *current_cpu)
131 return CPU (h_psr_cm);
134 /* Set a value for h-psr_cm. */
136 void
137 frvbf_h_psr_cm_set (SIM_CPU *current_cpu, BI newval)
139 CPU (h_psr_cm) = newval;
142 /* Get the value of h-psr_be. */
145 frvbf_h_psr_be_get (SIM_CPU *current_cpu)
147 return CPU (h_psr_be);
150 /* Set a value for h-psr_be. */
152 void
153 frvbf_h_psr_be_set (SIM_CPU *current_cpu, BI newval)
155 CPU (h_psr_be) = newval;
158 /* Get the value of h-psr_esr. */
161 frvbf_h_psr_esr_get (SIM_CPU *current_cpu)
163 return CPU (h_psr_esr);
166 /* Set a value for h-psr_esr. */
168 void
169 frvbf_h_psr_esr_set (SIM_CPU *current_cpu, BI newval)
171 CPU (h_psr_esr) = newval;
174 /* Get the value of h-psr_ef. */
177 frvbf_h_psr_ef_get (SIM_CPU *current_cpu)
179 return CPU (h_psr_ef);
182 /* Set a value for h-psr_ef. */
184 void
185 frvbf_h_psr_ef_set (SIM_CPU *current_cpu, BI newval)
187 CPU (h_psr_ef) = newval;
190 /* Get the value of h-psr_em. */
193 frvbf_h_psr_em_get (SIM_CPU *current_cpu)
195 return CPU (h_psr_em);
198 /* Set a value for h-psr_em. */
200 void
201 frvbf_h_psr_em_set (SIM_CPU *current_cpu, BI newval)
203 CPU (h_psr_em) = newval;
206 /* Get the value of h-psr_pil. */
209 frvbf_h_psr_pil_get (SIM_CPU *current_cpu)
211 return CPU (h_psr_pil);
214 /* Set a value for h-psr_pil. */
216 void
217 frvbf_h_psr_pil_set (SIM_CPU *current_cpu, UQI newval)
219 CPU (h_psr_pil) = newval;
222 /* Get the value of h-psr_ps. */
225 frvbf_h_psr_ps_get (SIM_CPU *current_cpu)
227 return CPU (h_psr_ps);
230 /* Set a value for h-psr_ps. */
232 void
233 frvbf_h_psr_ps_set (SIM_CPU *current_cpu, BI newval)
235 CPU (h_psr_ps) = newval;
238 /* Get the value of h-psr_et. */
241 frvbf_h_psr_et_get (SIM_CPU *current_cpu)
243 return CPU (h_psr_et);
246 /* Set a value for h-psr_et. */
248 void
249 frvbf_h_psr_et_set (SIM_CPU *current_cpu, BI newval)
251 CPU (h_psr_et) = newval;
254 /* Get the value of h-psr_s. */
257 frvbf_h_psr_s_get (SIM_CPU *current_cpu)
259 return CPU (h_psr_s);
262 /* Set a value for h-psr_s. */
264 void
265 frvbf_h_psr_s_set (SIM_CPU *current_cpu, BI newval)
267 SET_H_PSR_S (newval);
270 /* Get the value of h-tbr_tba. */
273 frvbf_h_tbr_tba_get (SIM_CPU *current_cpu)
275 return CPU (h_tbr_tba);
278 /* Set a value for h-tbr_tba. */
280 void
281 frvbf_h_tbr_tba_set (SIM_CPU *current_cpu, USI newval)
283 CPU (h_tbr_tba) = newval;
286 /* Get the value of h-tbr_tt. */
289 frvbf_h_tbr_tt_get (SIM_CPU *current_cpu)
291 return CPU (h_tbr_tt);
294 /* Set a value for h-tbr_tt. */
296 void
297 frvbf_h_tbr_tt_set (SIM_CPU *current_cpu, UQI newval)
299 CPU (h_tbr_tt) = newval;
302 /* Get the value of h-bpsr_bs. */
305 frvbf_h_bpsr_bs_get (SIM_CPU *current_cpu)
307 return CPU (h_bpsr_bs);
310 /* Set a value for h-bpsr_bs. */
312 void
313 frvbf_h_bpsr_bs_set (SIM_CPU *current_cpu, BI newval)
315 CPU (h_bpsr_bs) = newval;
318 /* Get the value of h-bpsr_bet. */
321 frvbf_h_bpsr_bet_get (SIM_CPU *current_cpu)
323 return CPU (h_bpsr_bet);
326 /* Set a value for h-bpsr_bet. */
328 void
329 frvbf_h_bpsr_bet_set (SIM_CPU *current_cpu, BI newval)
331 CPU (h_bpsr_bet) = newval;
334 /* Get the value of h-gr. */
337 frvbf_h_gr_get (SIM_CPU *current_cpu, UINT regno)
339 return GET_H_GR (regno);
342 /* Set a value for h-gr. */
344 void
345 frvbf_h_gr_set (SIM_CPU *current_cpu, UINT regno, USI newval)
347 SET_H_GR (regno, newval);
350 /* Get the value of h-gr_double. */
353 frvbf_h_gr_double_get (SIM_CPU *current_cpu, UINT regno)
355 return GET_H_GR_DOUBLE (regno);
358 /* Set a value for h-gr_double. */
360 void
361 frvbf_h_gr_double_set (SIM_CPU *current_cpu, UINT regno, DI newval)
363 SET_H_GR_DOUBLE (regno, newval);
366 /* Get the value of h-gr_hi. */
369 frvbf_h_gr_hi_get (SIM_CPU *current_cpu, UINT regno)
371 return GET_H_GR_HI (regno);
374 /* Set a value for h-gr_hi. */
376 void
377 frvbf_h_gr_hi_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
379 SET_H_GR_HI (regno, newval);
382 /* Get the value of h-gr_lo. */
385 frvbf_h_gr_lo_get (SIM_CPU *current_cpu, UINT regno)
387 return GET_H_GR_LO (regno);
390 /* Set a value for h-gr_lo. */
392 void
393 frvbf_h_gr_lo_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
395 SET_H_GR_LO (regno, newval);
398 /* Get the value of h-fr. */
401 frvbf_h_fr_get (SIM_CPU *current_cpu, UINT regno)
403 return GET_H_FR (regno);
406 /* Set a value for h-fr. */
408 void
409 frvbf_h_fr_set (SIM_CPU *current_cpu, UINT regno, SF newval)
411 SET_H_FR (regno, newval);
414 /* Get the value of h-fr_double. */
417 frvbf_h_fr_double_get (SIM_CPU *current_cpu, UINT regno)
419 return GET_H_FR_DOUBLE (regno);
422 /* Set a value for h-fr_double. */
424 void
425 frvbf_h_fr_double_set (SIM_CPU *current_cpu, UINT regno, DF newval)
427 SET_H_FR_DOUBLE (regno, newval);
430 /* Get the value of h-fr_int. */
433 frvbf_h_fr_int_get (SIM_CPU *current_cpu, UINT regno)
435 return GET_H_FR_INT (regno);
438 /* Set a value for h-fr_int. */
440 void
441 frvbf_h_fr_int_set (SIM_CPU *current_cpu, UINT regno, USI newval)
443 SET_H_FR_INT (regno, newval);
446 /* Get the value of h-fr_hi. */
449 frvbf_h_fr_hi_get (SIM_CPU *current_cpu, UINT regno)
451 return GET_H_FR_HI (regno);
454 /* Set a value for h-fr_hi. */
456 void
457 frvbf_h_fr_hi_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
459 SET_H_FR_HI (regno, newval);
462 /* Get the value of h-fr_lo. */
465 frvbf_h_fr_lo_get (SIM_CPU *current_cpu, UINT regno)
467 return GET_H_FR_LO (regno);
470 /* Set a value for h-fr_lo. */
472 void
473 frvbf_h_fr_lo_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
475 SET_H_FR_LO (regno, newval);
478 /* Get the value of h-fr_0. */
481 frvbf_h_fr_0_get (SIM_CPU *current_cpu, UINT regno)
483 return GET_H_FR_0 (regno);
486 /* Set a value for h-fr_0. */
488 void
489 frvbf_h_fr_0_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
491 SET_H_FR_0 (regno, newval);
494 /* Get the value of h-fr_1. */
497 frvbf_h_fr_1_get (SIM_CPU *current_cpu, UINT regno)
499 return GET_H_FR_1 (regno);
502 /* Set a value for h-fr_1. */
504 void
505 frvbf_h_fr_1_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
507 SET_H_FR_1 (regno, newval);
510 /* Get the value of h-fr_2. */
513 frvbf_h_fr_2_get (SIM_CPU *current_cpu, UINT regno)
515 return GET_H_FR_2 (regno);
518 /* Set a value for h-fr_2. */
520 void
521 frvbf_h_fr_2_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
523 SET_H_FR_2 (regno, newval);
526 /* Get the value of h-fr_3. */
529 frvbf_h_fr_3_get (SIM_CPU *current_cpu, UINT regno)
531 return GET_H_FR_3 (regno);
534 /* Set a value for h-fr_3. */
536 void
537 frvbf_h_fr_3_set (SIM_CPU *current_cpu, UINT regno, UHI newval)
539 SET_H_FR_3 (regno, newval);
542 /* Get the value of h-cpr. */
545 frvbf_h_cpr_get (SIM_CPU *current_cpu, UINT regno)
547 return CPU (h_cpr[regno]);
550 /* Set a value for h-cpr. */
552 void
553 frvbf_h_cpr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
555 CPU (h_cpr[regno]) = newval;
558 /* Get the value of h-cpr_double. */
561 frvbf_h_cpr_double_get (SIM_CPU *current_cpu, UINT regno)
563 return GET_H_CPR_DOUBLE (regno);
566 /* Set a value for h-cpr_double. */
568 void
569 frvbf_h_cpr_double_set (SIM_CPU *current_cpu, UINT regno, DI newval)
571 SET_H_CPR_DOUBLE (regno, newval);
574 /* Get the value of h-spr. */
577 frvbf_h_spr_get (SIM_CPU *current_cpu, UINT regno)
579 return GET_H_SPR (regno);
582 /* Set a value for h-spr. */
584 void
585 frvbf_h_spr_set (SIM_CPU *current_cpu, UINT regno, USI newval)
587 SET_H_SPR (regno, newval);
590 /* Get the value of h-accg. */
593 frvbf_h_accg_get (SIM_CPU *current_cpu, UINT regno)
595 return GET_H_ACCG (regno);
598 /* Set a value for h-accg. */
600 void
601 frvbf_h_accg_set (SIM_CPU *current_cpu, UINT regno, USI newval)
603 SET_H_ACCG (regno, newval);
606 /* Get the value of h-acc40S. */
609 frvbf_h_acc40S_get (SIM_CPU *current_cpu, UINT regno)
611 return GET_H_ACC40S (regno);
614 /* Set a value for h-acc40S. */
616 void
617 frvbf_h_acc40S_set (SIM_CPU *current_cpu, UINT regno, DI newval)
619 SET_H_ACC40S (regno, newval);
622 /* Get the value of h-acc40U. */
625 frvbf_h_acc40U_get (SIM_CPU *current_cpu, UINT regno)
627 return GET_H_ACC40U (regno);
630 /* Set a value for h-acc40U. */
632 void
633 frvbf_h_acc40U_set (SIM_CPU *current_cpu, UINT regno, UDI newval)
635 SET_H_ACC40U (regno, newval);
638 /* Get the value of h-iacc0. */
641 frvbf_h_iacc0_get (SIM_CPU *current_cpu, UINT regno)
643 return GET_H_IACC0 (regno);
646 /* Set a value for h-iacc0. */
648 void
649 frvbf_h_iacc0_set (SIM_CPU *current_cpu, UINT regno, DI newval)
651 SET_H_IACC0 (regno, newval);
654 /* Get the value of h-iccr. */
657 frvbf_h_iccr_get (SIM_CPU *current_cpu, UINT regno)
659 return CPU (h_iccr[regno]);
662 /* Set a value for h-iccr. */
664 void
665 frvbf_h_iccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
667 CPU (h_iccr[regno]) = newval;
670 /* Get the value of h-fccr. */
673 frvbf_h_fccr_get (SIM_CPU *current_cpu, UINT regno)
675 return CPU (h_fccr[regno]);
678 /* Set a value for h-fccr. */
680 void
681 frvbf_h_fccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
683 CPU (h_fccr[regno]) = newval;
686 /* Get the value of h-cccr. */
689 frvbf_h_cccr_get (SIM_CPU *current_cpu, UINT regno)
691 return CPU (h_cccr[regno]);
694 /* Set a value for h-cccr. */
696 void
697 frvbf_h_cccr_set (SIM_CPU *current_cpu, UINT regno, UQI newval)
699 CPU (h_cccr[regno]) = newval;
702 /* Record trace results for INSN. */
704 void
705 frvbf_record_trace_results (SIM_CPU *current_cpu, CGEN_INSN *insn,
706 int *indices, TRACE_RECORD *tr)