tcg-target.h (34ef7676090e35ffb7f7d8b8d92a843a6ee94931) tcg-target.h (ae77bbe5747dc655bed213006798f9b07e2f79bf)
1/*
2 * Tiny Code Generator for QEMU
3 *
4 * Copyright (c) 2009 Ulrich Hecht <uli@suse.de>
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

--- 50 unchanged lines hidden (view full) ---

59#define FACILITY_LONG_DISP 18
60#define FACILITY_EXT_IMM 21
61#define FACILITY_GEN_INST_EXT 34
62#define FACILITY_LOAD_ON_COND 45
63#define FACILITY_FAST_BCR_SER FACILITY_LOAD_ON_COND
64#define FACILITY_DISTINCT_OPS FACILITY_LOAD_ON_COND
65#define FACILITY_LOAD_ON_COND2 53
66#define FACILITY_VECTOR 129
1/*
2 * Tiny Code Generator for QEMU
3 *
4 * Copyright (c) 2009 Ulrich Hecht <uli@suse.de>
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights

--- 50 unchanged lines hidden (view full) ---

59#define FACILITY_LONG_DISP 18
60#define FACILITY_EXT_IMM 21
61#define FACILITY_GEN_INST_EXT 34
62#define FACILITY_LOAD_ON_COND 45
63#define FACILITY_FAST_BCR_SER FACILITY_LOAD_ON_COND
64#define FACILITY_DISTINCT_OPS FACILITY_LOAD_ON_COND
65#define FACILITY_LOAD_ON_COND2 53
66#define FACILITY_VECTOR 129
67#define FACILITY_VECTOR_ENH1 135
67
68extern uint64_t s390_facilities[3];
69
70#define HAVE_FACILITY(X) \
71 ((s390_facilities[FACILITY_##X / 64] >> (63 - FACILITY_##X % 64)) & 1)
72
73/* optional instructions */
74#define TCG_TARGET_HAS_div2_i32 1

--- 62 unchanged lines hidden (view full) ---

137#define TCG_TARGET_HAS_muls2_i64 0
138#define TCG_TARGET_HAS_muluh_i64 0
139#define TCG_TARGET_HAS_mulsh_i64 0
140
141#define TCG_TARGET_HAS_v64 HAVE_FACILITY(VECTOR)
142#define TCG_TARGET_HAS_v128 HAVE_FACILITY(VECTOR)
143#define TCG_TARGET_HAS_v256 0
144
68
69extern uint64_t s390_facilities[3];
70
71#define HAVE_FACILITY(X) \
72 ((s390_facilities[FACILITY_##X / 64] >> (63 - FACILITY_##X % 64)) & 1)
73
74/* optional instructions */
75#define TCG_TARGET_HAS_div2_i32 1

--- 62 unchanged lines hidden (view full) ---

138#define TCG_TARGET_HAS_muls2_i64 0
139#define TCG_TARGET_HAS_muluh_i64 0
140#define TCG_TARGET_HAS_mulsh_i64 0
141
142#define TCG_TARGET_HAS_v64 HAVE_FACILITY(VECTOR)
143#define TCG_TARGET_HAS_v128 HAVE_FACILITY(VECTOR)
144#define TCG_TARGET_HAS_v256 0
145
145#define TCG_TARGET_HAS_andc_vec 0
146#define TCG_TARGET_HAS_orc_vec 0
147#define TCG_TARGET_HAS_not_vec 0
148#define TCG_TARGET_HAS_neg_vec 0
149#define TCG_TARGET_HAS_abs_vec 0
146#define TCG_TARGET_HAS_andc_vec 1
147#define TCG_TARGET_HAS_orc_vec HAVE_FACILITY(VECTOR_ENH1)
148#define TCG_TARGET_HAS_not_vec 1
149#define TCG_TARGET_HAS_neg_vec 1
150#define TCG_TARGET_HAS_abs_vec 1
150#define TCG_TARGET_HAS_roti_vec 0
151#define TCG_TARGET_HAS_rots_vec 0
152#define TCG_TARGET_HAS_rotv_vec 0
153#define TCG_TARGET_HAS_shi_vec 0
154#define TCG_TARGET_HAS_shs_vec 0
155#define TCG_TARGET_HAS_shv_vec 0
156#define TCG_TARGET_HAS_mul_vec 0
157#define TCG_TARGET_HAS_sat_vec 0

--- 28 unchanged lines hidden ---
151#define TCG_TARGET_HAS_roti_vec 0
152#define TCG_TARGET_HAS_rots_vec 0
153#define TCG_TARGET_HAS_rotv_vec 0
154#define TCG_TARGET_HAS_shi_vec 0
155#define TCG_TARGET_HAS_shs_vec 0
156#define TCG_TARGET_HAS_shv_vec 0
157#define TCG_TARGET_HAS_mul_vec 0
158#define TCG_TARGET_HAS_sat_vec 0

--- 28 unchanged lines hidden ---