1pub 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}