sljit_sys/
wrapper.rs

1/* automatically generated by rust-bindgen 0.69.1 */
2
3pub type sljit_u8 = ::core::ffi::c_uchar;
4pub type sljit_s8 = ::core::ffi::c_schar;
5pub type sljit_u16 = ::core::ffi::c_ushort;
6pub type sljit_s16 = ::core::ffi::c_short;
7pub type sljit_u32 = ::core::ffi::c_uint;
8pub type sljit_s32 = ::core::ffi::c_int;
9pub type sljit_uw = ::core::ffi::c_ulonglong;
10pub type sljit_sw = ::core::ffi::c_longlong;
11pub type sljit_p = sljit_uw;
12pub type sljit_f32 = f32;
13pub type sljit_f64 = f64;
14#[repr(C)]
15#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
16pub struct sljit_memory_fragment {
17    pub next: *mut sljit_memory_fragment,
18    pub used_size: sljit_uw,
19    pub memory: [sljit_u8; 1usize],
20}
21#[repr(C)]
22#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
23pub struct sljit_label {
24    pub next: *mut sljit_label,
25    pub addr: sljit_uw,
26    pub size: sljit_uw,
27}
28#[repr(C)]
29#[derive(Copy, Clone, ConstDefault)]
30pub struct sljit_jump {
31    pub next: *mut sljit_jump,
32    pub addr: sljit_uw,
33    pub flags: sljit_uw,
34    pub u: sljit_jump__bindgen_ty_1,
35}
36#[repr(C)]
37#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
38pub struct sljit_put_label {
39    pub next: *mut sljit_put_label,
40    pub label: *mut sljit_label,
41    pub addr: sljit_uw,
42    pub flags: sljit_uw,
43}
44#[repr(C)]
45#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
46pub struct sljit_const {
47    pub next: *mut sljit_const,
48    pub addr: sljit_uw,
49}
50#[repr(C)]
51#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
52pub struct sljit_compiler {
53    pub error: sljit_s32,
54    pub options: sljit_s32,
55    pub labels: *mut sljit_label,
56    pub jumps: *mut sljit_jump,
57    pub put_labels: *mut sljit_put_label,
58    pub consts: *mut sljit_const,
59    pub last_label: *mut sljit_label,
60    pub last_jump: *mut sljit_jump,
61    pub last_const: *mut sljit_const,
62    pub last_put_label: *mut sljit_put_label,
63    pub allocator_data: *mut ::core::ffi::c_void,
64    pub exec_allocator_data: *mut ::core::ffi::c_void,
65    pub buf: *mut sljit_memory_fragment,
66    pub abuf: *mut sljit_memory_fragment,
67    pub scratches: sljit_s32,
68    pub saveds: sljit_s32,
69    pub fscratches: sljit_s32,
70    pub fsaveds: sljit_s32,
71    pub local_size: sljit_s32,
72    pub size: sljit_uw,
73    pub executable_offset: sljit_sw,
74    pub executable_size: sljit_uw,
75    pub mode32: sljit_s32,
76}
77#[repr(C)]
78#[derive(Debug, Copy, Clone, Hash, ConstDefault)]
79pub struct sljit_stack {
80    pub top: *mut sljit_u8,
81    pub end: *mut sljit_u8,
82    pub start: *mut sljit_u8,
83    pub min_start: *mut sljit_u8,
84}
85pub const SLJIT_CONFIG_AUTO: i32 = 1;
86pub const SLJIT_CONFIG_X86_64: i32 = 1;
87pub const SLJIT_CONFIG_X86: i32 = 1;
88pub const SLJIT_UTIL_STACK: i32 = 1;
89pub const SLJIT_UTIL_SIMPLE_STACK_ALLOCATION: i32 = 0;
90pub const SLJIT_SINGLE_THREADED: i32 = 0;
91pub const SLJIT_STD_MACROS_DEFINED: i32 = 0;
92pub const SLJIT_EXECUTABLE_ALLOCATOR: i32 = 1;
93pub const SLJIT_PROT_EXECUTABLE_ALLOCATOR: i32 = 0;
94pub const SLJIT_WX_EXECUTABLE_ALLOCATOR: i32 = 0;
95pub const SLJIT_ARGUMENT_CHECKS: i32 = 0;
96pub const SLJIT_64BIT_ARCHITECTURE: i32 = 1;
97pub const SLJIT_WORD_SHIFT: i32 = 3;
98pub const SLJIT_POINTER_SHIFT: i32 = 3;
99pub const SLJIT_F32_SHIFT: i32 = 2;
100pub const SLJIT_F64_SHIFT: i32 = 3;
101pub const SLJIT_CONV_RESULT_MAX_INT: i32 = 0;
102pub const SLJIT_CONV_RESULT_MIN_INT: i32 = 1;
103pub const SLJIT_CONV_RESULT_ZERO: i32 = 2;
104pub const SLJIT_CONV_MAX_FLOAT: i32 = 1;
105pub const SLJIT_CONV_MIN_FLOAT: i32 = 1;
106pub const SLJIT_CONV_NAN_FLOAT: i32 = 1;
107pub const SLJIT_LITTLE_ENDIAN: i32 = 1;
108pub const SLJIT_UNALIGNED: i32 = 1;
109pub const SLJIT_FPU_UNALIGNED: i32 = 1;
110pub const SLJIT_RETURN_ADDRESS_OFFSET: i32 = 0;
111pub const SLJIT_NUMBER_OF_REGISTERS: i32 = 13;
112pub const SLJIT_NUMBER_OF_TEMPORARY_REGISTERS: i32 = 2;
113pub const SLJIT_NUMBER_OF_FLOAT_REGISTERS: i32 = 15;
114pub const SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS: i32 = 1;
115pub const SLJIT_NUMBER_OF_SAVED_REGISTERS: i32 = 8;
116pub const SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS: i32 = 10;
117pub const SLJIT_MASKED_SHIFT: i32 = 1;
118pub const SLJIT_MASKED_SHIFT32: i32 = 1;
119pub const SLJIT_NUMBER_OF_SCRATCH_REGISTERS: i32 = 5;
120pub const SLJIT_NUMBER_OF_SCRATCH_FLOAT_REGISTERS: i32 = 5;
121pub const SLJIT_TMP_REGISTER_BASE: i32 = 15;
122pub const SLJIT_TMP_FREGISTER_BASE: i32 = 16;
123pub const SLJIT_TMP_R0: i32 = 15;
124pub const SLJIT_TMP_R1: i32 = 16;
125pub const SLJIT_TMP_R2: i32 = 17;
126pub const SLJIT_TMP_R3: i32 = 18;
127pub const SLJIT_TMP_R4: i32 = 19;
128pub const SLJIT_TMP_R5: i32 = 20;
129pub const SLJIT_TMP_R6: i32 = 21;
130pub const SLJIT_TMP_R7: i32 = 22;
131pub const SLJIT_TMP_R8: i32 = 23;
132pub const SLJIT_TMP_R9: i32 = 24;
133pub const SLJIT_TMP_FR0: i32 = 16;
134pub const SLJIT_TMP_FR1: i32 = 17;
135pub const SLJIT_TMP_FR2: i32 = 18;
136pub const SLJIT_TMP_FR3: i32 = 19;
137pub const SLJIT_TMP_FR4: i32 = 20;
138pub const SLJIT_TMP_FR5: i32 = 21;
139pub const SLJIT_TMP_FR6: i32 = 22;
140pub const SLJIT_TMP_FR7: i32 = 23;
141pub const SLJIT_TMP_FR8: i32 = 24;
142pub const SLJIT_TMP_FR9: i32 = 25;
143pub const SLJIT_MAJOR_VERSION: i32 = 0;
144pub const SLJIT_MINOR_VERSION: i32 = 95;
145pub const SLJIT_SUCCESS: i32 = 0;
146pub const SLJIT_ERR_COMPILED: i32 = 1;
147pub const SLJIT_ERR_ALLOC_FAILED: i32 = 2;
148pub const SLJIT_ERR_EX_ALLOC_FAILED: i32 = 3;
149pub const SLJIT_ERR_UNSUPPORTED: i32 = 4;
150pub const SLJIT_ERR_BAD_ARGUMENT: i32 = 5;
151pub const SLJIT_R0: i32 = 1;
152pub const SLJIT_R1: i32 = 2;
153pub const SLJIT_R2: i32 = 3;
154pub const SLJIT_R3: i32 = 4;
155pub const SLJIT_R4: i32 = 5;
156pub const SLJIT_R5: i32 = 6;
157pub const SLJIT_R6: i32 = 7;
158pub const SLJIT_R7: i32 = 8;
159pub const SLJIT_R8: i32 = 9;
160pub const SLJIT_R9: i32 = 10;
161pub const SLJIT_S0: i32 = 13;
162pub const SLJIT_S1: i32 = 12;
163pub const SLJIT_S2: i32 = 11;
164pub const SLJIT_S3: i32 = 10;
165pub const SLJIT_S4: i32 = 9;
166pub const SLJIT_S5: i32 = 8;
167pub const SLJIT_S6: i32 = 7;
168pub const SLJIT_S7: i32 = 6;
169pub const SLJIT_S8: i32 = 5;
170pub const SLJIT_S9: i32 = 4;
171pub const SLJIT_FIRST_SAVED_REG: i32 = 6;
172pub const SLJIT_SP: i32 = 14;
173pub const SLJIT_RETURN_REG: i32 = 1;
174pub const SLJIT_FR0: i32 = 1;
175pub const SLJIT_FR1: i32 = 2;
176pub const SLJIT_FR2: i32 = 3;
177pub const SLJIT_FR3: i32 = 4;
178pub const SLJIT_FR4: i32 = 5;
179pub const SLJIT_FR5: i32 = 6;
180pub const SLJIT_FR6: i32 = 7;
181pub const SLJIT_FR7: i32 = 8;
182pub const SLJIT_FR8: i32 = 9;
183pub const SLJIT_FR9: i32 = 10;
184pub const SLJIT_FS0: i32 = 15;
185pub const SLJIT_FS1: i32 = 14;
186pub const SLJIT_FS2: i32 = 13;
187pub const SLJIT_FS3: i32 = 12;
188pub const SLJIT_FS4: i32 = 11;
189pub const SLJIT_FS5: i32 = 10;
190pub const SLJIT_FS6: i32 = 9;
191pub const SLJIT_FS7: i32 = 8;
192pub const SLJIT_FS8: i32 = 7;
193pub const SLJIT_FS9: i32 = 6;
194pub const SLJIT_FIRST_SAVED_FLOAT_REG: i32 = 6;
195pub const SLJIT_RETURN_FREG: i32 = 1;
196pub const SLJIT_ARG_TYPE_SCRATCH_REG: i32 = 8;
197pub const SLJIT_ARG_TYPE_RET_VOID: i32 = 0;
198pub const SLJIT_ARG_TYPE_W: i32 = 1;
199pub const SLJIT_ARG_TYPE_W_R: i32 = 9;
200pub const SLJIT_ARG_TYPE_32: i32 = 2;
201pub const SLJIT_ARG_TYPE_32_R: i32 = 10;
202pub const SLJIT_ARG_TYPE_P: i32 = 3;
203pub const SLJIT_ARG_TYPE_P_R: i32 = 11;
204pub const SLJIT_ARG_TYPE_F64: i32 = 4;
205pub const SLJIT_ARG_TYPE_F32: i32 = 5;
206pub const SLJIT_ARG_SHIFT: i32 = 4;
207pub const SLJIT_HAS_FPU: i32 = 0;
208pub const SLJIT_HAS_VIRTUAL_REGISTERS: i32 = 1;
209pub const SLJIT_HAS_ZERO_REGISTER: i32 = 2;
210pub const SLJIT_HAS_CLZ: i32 = 3;
211pub const SLJIT_HAS_CTZ: i32 = 4;
212pub const SLJIT_HAS_REV: i32 = 5;
213pub const SLJIT_HAS_ROT: i32 = 6;
214pub const SLJIT_HAS_CMOV: i32 = 7;
215pub const SLJIT_HAS_PREFETCH: i32 = 8;
216pub const SLJIT_HAS_COPY_F32: i32 = 9;
217pub const SLJIT_HAS_COPY_F64: i32 = 10;
218pub const SLJIT_HAS_F64_AS_F32_PAIR: i32 = 11;
219pub const SLJIT_HAS_SIMD: i32 = 12;
220pub const SLJIT_SIMD_REGS_ARE_PAIRS: i32 = 13;
221pub const SLJIT_HAS_ATOMIC: i32 = 14;
222pub const SLJIT_HAS_AVX: i32 = 100;
223pub const SLJIT_HAS_AVX2: i32 = 101;
224pub const SLJIT_ENTER_REG_ARG: i32 = 4;
225pub const SLJIT_MAX_LOCAL_SIZE: i32 = 1048576;
226pub const SLJIT_MEM: i32 = 128;
227pub const SLJIT_IMM: i32 = 127;
228pub const SLJIT_32: i32 = 256;
229pub const SLJIT_SET_Z: i32 = 512;
230pub const SLJIT_OP0_BASE: i32 = 0;
231pub const SLJIT_BREAKPOINT: i32 = 0;
232pub const SLJIT_NOP: i32 = 1;
233pub const SLJIT_LMUL_UW: i32 = 2;
234pub const SLJIT_LMUL_SW: i32 = 3;
235pub const SLJIT_DIVMOD_UW: i32 = 4;
236pub const SLJIT_DIVMOD_U32: i32 = 260;
237pub const SLJIT_DIVMOD_SW: i32 = 5;
238pub const SLJIT_DIVMOD_S32: i32 = 261;
239pub const SLJIT_DIV_UW: i32 = 6;
240pub const SLJIT_DIV_U32: i32 = 262;
241pub const SLJIT_DIV_SW: i32 = 7;
242pub const SLJIT_DIV_S32: i32 = 263;
243pub const SLJIT_ENDBR: i32 = 8;
244pub const SLJIT_SKIP_FRAMES_BEFORE_RETURN: i32 = 9;
245pub const SLJIT_OP1_BASE: i32 = 32;
246pub const SLJIT_MOV: i32 = 32;
247pub const SLJIT_MOV_U8: i32 = 33;
248pub const SLJIT_MOV32_U8: i32 = 289;
249pub const SLJIT_MOV_S8: i32 = 34;
250pub const SLJIT_MOV32_S8: i32 = 290;
251pub const SLJIT_MOV_U16: i32 = 35;
252pub const SLJIT_MOV32_U16: i32 = 291;
253pub const SLJIT_MOV_S16: i32 = 36;
254pub const SLJIT_MOV32_S16: i32 = 292;
255pub const SLJIT_MOV_U32: i32 = 37;
256pub const SLJIT_MOV_S32: i32 = 38;
257pub const SLJIT_MOV32: i32 = 39;
258pub const SLJIT_MOV_P: i32 = 40;
259pub const SLJIT_CLZ: i32 = 41;
260pub const SLJIT_CLZ32: i32 = 297;
261pub const SLJIT_CTZ: i32 = 42;
262pub const SLJIT_CTZ32: i32 = 298;
263pub const SLJIT_REV: i32 = 43;
264pub const SLJIT_REV32: i32 = 299;
265pub const SLJIT_REV_U16: i32 = 44;
266pub const SLJIT_REV32_U16: i32 = 300;
267pub const SLJIT_REV_S16: i32 = 45;
268pub const SLJIT_REV32_S16: i32 = 301;
269pub const SLJIT_REV_U32: i32 = 46;
270pub const SLJIT_REV_S32: i32 = 47;
271pub const SLJIT_OP2_BASE: i32 = 64;
272pub const SLJIT_ADD: i32 = 64;
273pub const SLJIT_ADD32: i32 = 320;
274pub const SLJIT_ADDC: i32 = 65;
275pub const SLJIT_ADDC32: i32 = 321;
276pub const SLJIT_SUB: i32 = 66;
277pub const SLJIT_SUB32: i32 = 322;
278pub const SLJIT_SUBC: i32 = 67;
279pub const SLJIT_SUBC32: i32 = 323;
280pub const SLJIT_MUL: i32 = 68;
281pub const SLJIT_MUL32: i32 = 324;
282pub const SLJIT_AND: i32 = 69;
283pub const SLJIT_AND32: i32 = 325;
284pub const SLJIT_OR: i32 = 70;
285pub const SLJIT_OR32: i32 = 326;
286pub const SLJIT_XOR: i32 = 71;
287pub const SLJIT_XOR32: i32 = 327;
288pub const SLJIT_SHL: i32 = 72;
289pub const SLJIT_SHL32: i32 = 328;
290pub const SLJIT_MSHL: i32 = 73;
291pub const SLJIT_MSHL32: i32 = 329;
292pub const SLJIT_LSHR: i32 = 74;
293pub const SLJIT_LSHR32: i32 = 330;
294pub const SLJIT_MLSHR: i32 = 75;
295pub const SLJIT_MLSHR32: i32 = 331;
296pub const SLJIT_ASHR: i32 = 76;
297pub const SLJIT_ASHR32: i32 = 332;
298pub const SLJIT_MASHR: i32 = 77;
299pub const SLJIT_MASHR32: i32 = 333;
300pub const SLJIT_ROTL: i32 = 78;
301pub const SLJIT_ROTL32: i32 = 334;
302pub const SLJIT_ROTR: i32 = 79;
303pub const SLJIT_ROTR32: i32 = 335;
304pub const SLJIT_SHIFT_INTO_NON_ZERO: i32 = 512;
305pub const SLJIT_OP_SRC_DST_BASE: i32 = 96;
306pub const SLJIT_FAST_RETURN: i32 = 96;
307pub const SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: i32 = 97;
308pub const SLJIT_PREFETCH_L1: i32 = 98;
309pub const SLJIT_PREFETCH_L2: i32 = 99;
310pub const SLJIT_PREFETCH_L3: i32 = 100;
311pub const SLJIT_PREFETCH_ONCE: i32 = 101;
312pub const SLJIT_FAST_ENTER: i32 = 102;
313pub const SLJIT_GET_RETURN_ADDRESS: i32 = 103;
314pub const SLJIT_FOP1_BASE: i32 = 128;
315pub const SLJIT_MOV_F64: i32 = 128;
316pub const SLJIT_MOV_F32: i32 = 384;
317pub const SLJIT_CONV_F64_FROM_F32: i32 = 129;
318pub const SLJIT_CONV_F32_FROM_F64: i32 = 385;
319pub const SLJIT_CONV_SW_FROM_F64: i32 = 130;
320pub const SLJIT_CONV_SW_FROM_F32: i32 = 386;
321pub const SLJIT_CONV_S32_FROM_F64: i32 = 131;
322pub const SLJIT_CONV_S32_FROM_F32: i32 = 387;
323pub const SLJIT_CONV_F64_FROM_SW: i32 = 132;
324pub const SLJIT_CONV_F32_FROM_SW: i32 = 388;
325pub const SLJIT_CONV_F64_FROM_S32: i32 = 133;
326pub const SLJIT_CONV_F32_FROM_S32: i32 = 389;
327pub const SLJIT_CONV_F64_FROM_UW: i32 = 134;
328pub const SLJIT_CONV_F32_FROM_UW: i32 = 390;
329pub const SLJIT_CONV_F64_FROM_U32: i32 = 135;
330pub const SLJIT_CONV_F32_FROM_U32: i32 = 391;
331pub const SLJIT_CMP_F64: i32 = 136;
332pub const SLJIT_CMP_F32: i32 = 392;
333pub const SLJIT_NEG_F64: i32 = 137;
334pub const SLJIT_NEG_F32: i32 = 393;
335pub const SLJIT_ABS_F64: i32 = 138;
336pub const SLJIT_ABS_F32: i32 = 394;
337pub const SLJIT_FOP2_BASE: i32 = 160;
338pub const SLJIT_ADD_F64: i32 = 160;
339pub const SLJIT_ADD_F32: i32 = 416;
340pub const SLJIT_SUB_F64: i32 = 161;
341pub const SLJIT_SUB_F32: i32 = 417;
342pub const SLJIT_MUL_F64: i32 = 162;
343pub const SLJIT_MUL_F32: i32 = 418;
344pub const SLJIT_DIV_F64: i32 = 163;
345pub const SLJIT_DIV_F32: i32 = 419;
346pub const SLJIT_FOP2R_BASE: i32 = 168;
347pub const SLJIT_COPYSIGN_F64: i32 = 168;
348pub const SLJIT_COPYSIGN_F32: i32 = 424;
349pub const SLJIT_COPY_TO_F64: i32 = 1;
350pub const SLJIT_COPY32_TO_F32: i32 = 257;
351pub const SLJIT_COPY_FROM_F64: i32 = 2;
352pub const SLJIT_COPY32_FROM_F32: i32 = 258;
353pub const SLJIT_EQUAL: i32 = 0;
354pub const SLJIT_ZERO: i32 = 0;
355pub const SLJIT_NOT_EQUAL: i32 = 1;
356pub const SLJIT_NOT_ZERO: i32 = 1;
357pub const SLJIT_LESS: i32 = 2;
358pub const SLJIT_GREATER_EQUAL: i32 = 3;
359pub const SLJIT_GREATER: i32 = 4;
360pub const SLJIT_LESS_EQUAL: i32 = 5;
361pub const SLJIT_SIG_LESS: i32 = 6;
362pub const SLJIT_SIG_GREATER_EQUAL: i32 = 7;
363pub const SLJIT_SIG_GREATER: i32 = 8;
364pub const SLJIT_SIG_LESS_EQUAL: i32 = 9;
365pub const SLJIT_OVERFLOW: i32 = 10;
366pub const SLJIT_NOT_OVERFLOW: i32 = 11;
367pub const SLJIT_CARRY: i32 = 12;
368pub const SLJIT_NOT_CARRY: i32 = 13;
369pub const SLJIT_ATOMIC_STORED: i32 = 14;
370pub const SLJIT_ATOMIC_NOT_STORED: i32 = 15;
371pub const SLJIT_F_EQUAL: i32 = 16;
372pub const SLJIT_F_NOT_EQUAL: i32 = 17;
373pub const SLJIT_F_LESS: i32 = 18;
374pub const SLJIT_F_GREATER_EQUAL: i32 = 19;
375pub const SLJIT_F_GREATER: i32 = 20;
376pub const SLJIT_F_LESS_EQUAL: i32 = 21;
377pub const SLJIT_UNORDERED: i32 = 22;
378pub const SLJIT_ORDERED: i32 = 23;
379pub const SLJIT_ORDERED_EQUAL: i32 = 24;
380pub const SLJIT_UNORDERED_OR_NOT_EQUAL: i32 = 25;
381pub const SLJIT_ORDERED_LESS: i32 = 26;
382pub const SLJIT_UNORDERED_OR_GREATER_EQUAL: i32 = 27;
383pub const SLJIT_ORDERED_GREATER: i32 = 28;
384pub const SLJIT_UNORDERED_OR_LESS_EQUAL: i32 = 29;
385pub const SLJIT_UNORDERED_OR_EQUAL: i32 = 30;
386pub const SLJIT_ORDERED_NOT_EQUAL: i32 = 31;
387pub const SLJIT_UNORDERED_OR_LESS: i32 = 32;
388pub const SLJIT_ORDERED_GREATER_EQUAL: i32 = 33;
389pub const SLJIT_UNORDERED_OR_GREATER: i32 = 34;
390pub const SLJIT_ORDERED_LESS_EQUAL: i32 = 35;
391pub const SLJIT_JUMP: i32 = 36;
392pub const SLJIT_FAST_CALL: i32 = 37;
393pub const SLJIT_CALL: i32 = 38;
394pub const SLJIT_CALL_REG_ARG: i32 = 39;
395pub const SLJIT_REWRITABLE_JUMP: i32 = 4096;
396pub const SLJIT_CALL_RETURN: i32 = 8192;
397pub const SLJIT_MEM_LOAD: i32 = 0;
398pub const SLJIT_MEM_STORE: i32 = 512;
399pub const SLJIT_MEM_UNALIGNED: i32 = 1024;
400pub const SLJIT_MEM_ALIGNED_16: i32 = 2048;
401pub const SLJIT_MEM_ALIGNED_32: i32 = 4096;
402pub const SLJIT_MEM_PRE: i32 = 0;
403pub const SLJIT_MEM_POST: i32 = 1024;
404pub const SLJIT_MEM_SUPP: i32 = 2048;
405pub const SLJIT_SIMD_LOAD: i32 = 0;
406pub const SLJIT_SIMD_STORE: i32 = 1;
407pub const SLJIT_SIMD_FLOAT: i32 = 1024;
408pub const SLJIT_SIMD_TEST: i32 = 2048;
409pub const SLJIT_SIMD_REG_64: i32 = 12288;
410pub const SLJIT_SIMD_REG_128: i32 = 16384;
411pub const SLJIT_SIMD_REG_256: i32 = 20480;
412pub const SLJIT_SIMD_REG_512: i32 = 24576;
413pub const SLJIT_SIMD_ELEM_8: i32 = 0;
414pub const SLJIT_SIMD_ELEM_16: i32 = 262144;
415pub const SLJIT_SIMD_ELEM_32: i32 = 524288;
416pub const SLJIT_SIMD_ELEM_64: i32 = 786432;
417pub const SLJIT_SIMD_ELEM_128: i32 = 1048576;
418pub const SLJIT_SIMD_ELEM_256: i32 = 1310720;
419pub const SLJIT_SIMD_MEM_UNALIGNED: i32 = 0;
420pub const SLJIT_SIMD_MEM_ALIGNED_16: i32 = 16777216;
421pub const SLJIT_SIMD_MEM_ALIGNED_32: i32 = 33554432;
422pub const SLJIT_SIMD_MEM_ALIGNED_64: i32 = 50331648;
423pub const SLJIT_SIMD_MEM_ALIGNED_128: i32 = 67108864;
424pub const SLJIT_SIMD_MEM_ALIGNED_256: i32 = 83886080;
425pub const SLJIT_SIMD_MEM_ALIGNED_512: i32 = 100663296;
426pub const SLJIT_SIMD_LANE_ZERO: i32 = 2;
427pub const SLJIT_SIMD_LANE_SIGNED: i32 = 4;
428pub const SLJIT_SIMD_EXTEND_SIGNED: i32 = 2;
429pub const SLJIT_SIMD_EXTEND_16: i32 = 16777216;
430pub const SLJIT_SIMD_EXTEND_32: i32 = 33554432;
431pub const SLJIT_SIMD_EXTEND_64: i32 = 50331648;
432pub const SLJIT_SIMD_OP2_AND: i32 = 1;
433pub const SLJIT_SIMD_OP2_OR: i32 = 2;
434pub const SLJIT_SIMD_OP2_XOR: i32 = 3;
435pub const SLJIT_GP_REGISTER: i32 = 0;
436pub const SLJIT_FLOAT_REGISTER: i32 = 1;
437pub const SLJIT_CURRENT_FLAGS_32: i32 = 256;
438pub const SLJIT_CURRENT_FLAGS_ADD: i32 = 1;
439pub const SLJIT_CURRENT_FLAGS_SUB: i32 = 2;
440pub const SLJIT_CURRENT_FLAGS_COMPARE: i32 = 4;
441#[repr(C)]
442#[derive(Copy, Clone)]
443pub union sljit_jump__bindgen_ty_1 {
444    pub target: sljit_uw,
445    pub label: *mut sljit_label,
446}
447extern "C" {
448    pub fn sljit_malloc_exec(size: sljit_uw) -> *mut ::core::ffi::c_void;
449    pub fn sljit_free_exec(ptr: *mut ::core::ffi::c_void);
450    pub fn sljit_free_unused_memory_exec();
451    pub fn sljit_create_compiler(
452        allocator_data: *mut ::core::ffi::c_void,
453        exec_allocator_data: *mut ::core::ffi::c_void,
454    ) -> *mut sljit_compiler;
455    pub fn sljit_free_compiler(compiler: *mut sljit_compiler);
456    #[link_name = "sljit_get_compiler_error__extern"]
457    pub fn sljit_get_compiler_error(compiler: *mut sljit_compiler) -> sljit_s32;
458    pub fn sljit_set_compiler_memory_error(compiler: *mut sljit_compiler);
459    pub fn sljit_alloc_memory(
460        compiler: *mut sljit_compiler,
461        size: sljit_s32,
462    ) -> *mut ::core::ffi::c_void;
463    #[link_name = "sljit_get_allocator_data__extern"]
464    pub fn sljit_get_allocator_data(compiler: *mut sljit_compiler) -> *mut ::core::ffi::c_void;
465    #[link_name = "sljit_get_exec_allocator_data__extern"]
466    pub fn sljit_get_exec_allocator_data(compiler: *mut sljit_compiler)
467        -> *mut ::core::ffi::c_void;
468    pub fn sljit_generate_code(compiler: *mut sljit_compiler) -> *mut ::core::ffi::c_void;
469    pub fn sljit_free_code(
470        code: *mut ::core::ffi::c_void,
471        exec_allocator_data: *mut ::core::ffi::c_void,
472    );
473    #[link_name = "sljit_get_executable_offset__extern"]
474    pub fn sljit_get_executable_offset(compiler: *mut sljit_compiler) -> sljit_sw;
475    #[link_name = "sljit_get_generated_code_size__extern"]
476    pub fn sljit_get_generated_code_size(compiler: *mut sljit_compiler) -> sljit_uw;
477    pub fn sljit_has_cpu_feature(feature_type: sljit_s32) -> sljit_s32;
478    pub fn sljit_cmp_info(type_: sljit_s32) -> sljit_s32;
479    pub fn sljit_emit_enter(
480        compiler: *mut sljit_compiler,
481        options: sljit_s32,
482        arg_types: sljit_s32,
483        scratches: sljit_s32,
484        saveds: sljit_s32,
485        fscratches: sljit_s32,
486        fsaveds: sljit_s32,
487        local_size: sljit_s32,
488    ) -> sljit_s32;
489    pub fn sljit_set_context(
490        compiler: *mut sljit_compiler,
491        options: sljit_s32,
492        arg_types: sljit_s32,
493        scratches: sljit_s32,
494        saveds: sljit_s32,
495        fscratches: sljit_s32,
496        fsaveds: sljit_s32,
497        local_size: sljit_s32,
498    ) -> sljit_s32;
499    pub fn sljit_emit_return_void(compiler: *mut sljit_compiler) -> sljit_s32;
500    pub fn sljit_emit_return(
501        compiler: *mut sljit_compiler,
502        op: sljit_s32,
503        src: sljit_s32,
504        srcw: sljit_sw,
505    ) -> sljit_s32;
506    pub fn sljit_emit_return_to(
507        compiler: *mut sljit_compiler,
508        src: sljit_s32,
509        srcw: sljit_sw,
510    ) -> sljit_s32;
511    pub fn sljit_emit_op0(compiler: *mut sljit_compiler, op: sljit_s32) -> sljit_s32;
512    pub fn sljit_emit_op1(
513        compiler: *mut sljit_compiler,
514        op: sljit_s32,
515        dst: sljit_s32,
516        dstw: sljit_sw,
517        src: sljit_s32,
518        srcw: sljit_sw,
519    ) -> sljit_s32;
520    pub fn sljit_emit_op2(
521        compiler: *mut sljit_compiler,
522        op: sljit_s32,
523        dst: sljit_s32,
524        dstw: sljit_sw,
525        src1: sljit_s32,
526        src1w: sljit_sw,
527        src2: sljit_s32,
528        src2w: sljit_sw,
529    ) -> sljit_s32;
530    pub fn sljit_emit_op2u(
531        compiler: *mut sljit_compiler,
532        op: sljit_s32,
533        src1: sljit_s32,
534        src1w: sljit_sw,
535        src2: sljit_s32,
536        src2w: sljit_sw,
537    ) -> sljit_s32;
538    pub fn sljit_emit_shift_into(
539        compiler: *mut sljit_compiler,
540        op: sljit_s32,
541        dst_reg: sljit_s32,
542        src1_reg: sljit_s32,
543        src2_reg: sljit_s32,
544        src3: sljit_s32,
545        src3w: sljit_sw,
546    ) -> sljit_s32;
547    pub fn sljit_emit_op_src(
548        compiler: *mut sljit_compiler,
549        op: sljit_s32,
550        src: sljit_s32,
551        srcw: sljit_sw,
552    ) -> sljit_s32;
553    pub fn sljit_emit_op_dst(
554        compiler: *mut sljit_compiler,
555        op: sljit_s32,
556        dst: sljit_s32,
557        dstw: sljit_sw,
558    ) -> sljit_s32;
559    pub fn sljit_emit_fop1(
560        compiler: *mut sljit_compiler,
561        op: sljit_s32,
562        dst: sljit_s32,
563        dstw: sljit_sw,
564        src: sljit_s32,
565        srcw: sljit_sw,
566    ) -> sljit_s32;
567    pub fn sljit_emit_fop2(
568        compiler: *mut sljit_compiler,
569        op: sljit_s32,
570        dst: sljit_s32,
571        dstw: sljit_sw,
572        src1: sljit_s32,
573        src1w: sljit_sw,
574        src2: sljit_s32,
575        src2w: sljit_sw,
576    ) -> sljit_s32;
577    pub fn sljit_emit_fop2r(
578        compiler: *mut sljit_compiler,
579        op: sljit_s32,
580        dst_freg: sljit_s32,
581        src1: sljit_s32,
582        src1w: sljit_sw,
583        src2: sljit_s32,
584        src2w: sljit_sw,
585    ) -> sljit_s32;
586    pub fn sljit_emit_fset32(
587        compiler: *mut sljit_compiler,
588        freg: sljit_s32,
589        value: sljit_f32,
590    ) -> sljit_s32;
591    pub fn sljit_emit_fset64(
592        compiler: *mut sljit_compiler,
593        freg: sljit_s32,
594        value: sljit_f64,
595    ) -> sljit_s32;
596    pub fn sljit_emit_fcopy(
597        compiler: *mut sljit_compiler,
598        op: sljit_s32,
599        freg: sljit_s32,
600        reg: sljit_s32,
601    ) -> sljit_s32;
602    pub fn sljit_emit_label(compiler: *mut sljit_compiler) -> *mut sljit_label;
603    pub fn sljit_emit_jump(compiler: *mut sljit_compiler, type_: sljit_s32) -> *mut sljit_jump;
604    pub fn sljit_emit_call(
605        compiler: *mut sljit_compiler,
606        type_: sljit_s32,
607        arg_types: sljit_s32,
608    ) -> *mut sljit_jump;
609    pub fn sljit_emit_cmp(
610        compiler: *mut sljit_compiler,
611        type_: sljit_s32,
612        src1: sljit_s32,
613        src1w: sljit_sw,
614        src2: sljit_s32,
615        src2w: sljit_sw,
616    ) -> *mut sljit_jump;
617    pub fn sljit_emit_fcmp(
618        compiler: *mut sljit_compiler,
619        type_: sljit_s32,
620        src1: sljit_s32,
621        src1w: sljit_sw,
622        src2: sljit_s32,
623        src2w: sljit_sw,
624    ) -> *mut sljit_jump;
625    pub fn sljit_set_label(jump: *mut sljit_jump, label: *mut sljit_label);
626    pub fn sljit_set_target(jump: *mut sljit_jump, target: sljit_uw);
627    pub fn sljit_emit_ijump(
628        compiler: *mut sljit_compiler,
629        type_: sljit_s32,
630        src: sljit_s32,
631        srcw: sljit_sw,
632    ) -> sljit_s32;
633    pub fn sljit_emit_icall(
634        compiler: *mut sljit_compiler,
635        type_: sljit_s32,
636        arg_types: sljit_s32,
637        src: sljit_s32,
638        srcw: sljit_sw,
639    ) -> sljit_s32;
640    pub fn sljit_emit_op_flags(
641        compiler: *mut sljit_compiler,
642        op: sljit_s32,
643        dst: sljit_s32,
644        dstw: sljit_sw,
645        type_: sljit_s32,
646    ) -> sljit_s32;
647    pub fn sljit_emit_select(
648        compiler: *mut sljit_compiler,
649        type_: sljit_s32,
650        dst_reg: sljit_s32,
651        src1: sljit_s32,
652        src1w: sljit_sw,
653        src2_reg: sljit_s32,
654    ) -> sljit_s32;
655    pub fn sljit_emit_fselect(
656        compiler: *mut sljit_compiler,
657        type_: sljit_s32,
658        dst_freg: sljit_s32,
659        src1: sljit_s32,
660        src1w: sljit_sw,
661        src2_freg: sljit_s32,
662    ) -> sljit_s32;
663    pub fn sljit_emit_mem(
664        compiler: *mut sljit_compiler,
665        type_: sljit_s32,
666        reg: sljit_s32,
667        mem: sljit_s32,
668        memw: sljit_sw,
669    ) -> sljit_s32;
670    pub fn sljit_emit_mem_update(
671        compiler: *mut sljit_compiler,
672        type_: sljit_s32,
673        reg: sljit_s32,
674        mem: sljit_s32,
675        memw: sljit_sw,
676    ) -> sljit_s32;
677    pub fn sljit_emit_fmem(
678        compiler: *mut sljit_compiler,
679        type_: sljit_s32,
680        freg: sljit_s32,
681        mem: sljit_s32,
682        memw: sljit_sw,
683    ) -> sljit_s32;
684    pub fn sljit_emit_fmem_update(
685        compiler: *mut sljit_compiler,
686        type_: sljit_s32,
687        freg: sljit_s32,
688        mem: sljit_s32,
689        memw: sljit_sw,
690    ) -> sljit_s32;
691    pub fn sljit_emit_simd_mov(
692        compiler: *mut sljit_compiler,
693        type_: sljit_s32,
694        freg: sljit_s32,
695        srcdst: sljit_s32,
696        srcdstw: sljit_sw,
697    ) -> sljit_s32;
698    pub fn sljit_emit_simd_replicate(
699        compiler: *mut sljit_compiler,
700        type_: sljit_s32,
701        freg: sljit_s32,
702        src: sljit_s32,
703        srcw: sljit_sw,
704    ) -> sljit_s32;
705    pub fn sljit_emit_simd_lane_mov(
706        compiler: *mut sljit_compiler,
707        type_: sljit_s32,
708        freg: sljit_s32,
709        lane_index: sljit_s32,
710        srcdst: sljit_s32,
711        srcdstw: sljit_sw,
712    ) -> sljit_s32;
713    pub fn sljit_emit_simd_lane_replicate(
714        compiler: *mut sljit_compiler,
715        type_: sljit_s32,
716        freg: sljit_s32,
717        src: sljit_s32,
718        src_lane_index: sljit_s32,
719    ) -> sljit_s32;
720    pub fn sljit_emit_simd_extend(
721        compiler: *mut sljit_compiler,
722        type_: sljit_s32,
723        freg: sljit_s32,
724        src: sljit_s32,
725        srcw: sljit_sw,
726    ) -> sljit_s32;
727    pub fn sljit_emit_simd_sign(
728        compiler: *mut sljit_compiler,
729        type_: sljit_s32,
730        freg: sljit_s32,
731        dst: sljit_s32,
732        dstw: sljit_sw,
733    ) -> sljit_s32;
734    pub fn sljit_emit_simd_op2(
735        compiler: *mut sljit_compiler,
736        type_: sljit_s32,
737        dst_freg: sljit_s32,
738        src1_freg: sljit_s32,
739        src2_freg: sljit_s32,
740    ) -> sljit_s32;
741    pub fn sljit_emit_atomic_load(
742        compiler: *mut sljit_compiler,
743        op: sljit_s32,
744        dst_reg: sljit_s32,
745        mem_reg: sljit_s32,
746    ) -> sljit_s32;
747    pub fn sljit_emit_atomic_store(
748        compiler: *mut sljit_compiler,
749        op: sljit_s32,
750        src_reg: sljit_s32,
751        mem_reg: sljit_s32,
752        temp_reg: sljit_s32,
753    ) -> sljit_s32;
754    pub fn sljit_get_local_base(
755        compiler: *mut sljit_compiler,
756        dst: sljit_s32,
757        dstw: sljit_sw,
758        offset: sljit_sw,
759    ) -> sljit_s32;
760    pub fn sljit_emit_const(
761        compiler: *mut sljit_compiler,
762        dst: sljit_s32,
763        dstw: sljit_sw,
764        init_value: sljit_sw,
765    ) -> *mut sljit_const;
766    pub fn sljit_emit_put_label(
767        compiler: *mut sljit_compiler,
768        dst: sljit_s32,
769        dstw: sljit_sw,
770    ) -> *mut sljit_put_label;
771    pub fn sljit_set_put_label(put_label: *mut sljit_put_label, label: *mut sljit_label);
772    #[link_name = "sljit_get_label_addr__extern"]
773    pub fn sljit_get_label_addr(label: *mut sljit_label) -> sljit_uw;
774    #[link_name = "sljit_get_jump_addr__extern"]
775    pub fn sljit_get_jump_addr(jump: *mut sljit_jump) -> sljit_uw;
776    #[link_name = "sljit_get_const_addr__extern"]
777    pub fn sljit_get_const_addr(const_: *mut sljit_const) -> sljit_uw;
778    pub fn sljit_set_jump_addr(addr: sljit_uw, new_target: sljit_uw, executable_offset: sljit_sw);
779    pub fn sljit_set_const(addr: sljit_uw, new_constant: sljit_sw, executable_offset: sljit_sw);
780    pub fn sljit_get_register_index(type_: sljit_s32, reg: sljit_s32) -> sljit_s32;
781    pub fn sljit_emit_op_custom(
782        compiler: *mut sljit_compiler,
783        instruction: *mut ::core::ffi::c_void,
784        size: sljit_u32,
785    ) -> sljit_s32;
786    pub fn sljit_set_current_flags(compiler: *mut sljit_compiler, current_flags: sljit_s32);
787    pub fn sljit_get_platform_name() -> *const ::core::ffi::c_char;
788    pub fn sljit_allocate_stack(
789        start_size: sljit_uw,
790        max_size: sljit_uw,
791        allocator_data: *mut ::core::ffi::c_void,
792    ) -> *mut sljit_stack;
793    pub fn sljit_free_stack(stack: *mut sljit_stack, allocator_data: *mut ::core::ffi::c_void);
794    pub fn sljit_stack_resize(stack: *mut sljit_stack, new_start: *mut sljit_u8) -> *mut sljit_u8;
795}