Start supporting floating point function call arguments. Only x86 supported by this...
[sljit.git] / API_CHANGES
blob8683be1da7bea504ce531db728c6bb3f13e79877
1 This file is the short summary of the API changes:
3 06.05.2017 - Non-backward compatible
4     Src argument is removed from sljit_emit_op_flags.
6 24.04.2017 - Non-backward compatible
7     The sljit_is_fpu_available function is replaced
8     by sljit_has_cpu_feature.
10 20.04.2017 - Non-backward compatible
11     x86 specific cmov is changed to a general function
13 27.03.2017 - Non-backward compatible
14     JIT stack is changed from bottom-up to top-town.
16 15.01.2017 - Non-backward compatible
17     Move with update may modifiy flags, the base register
18     can only be used once and [reg+reg<<shift] addressing
19     mode where shift > 0 is not supported anymore.
21 12.01.2017 - Non-backward compatible
22     Introducing a new flag mechanism which provides better
23     compatibility with CPUs without flags. Only two flags
24     remain: zero and variable. The current type of the
25     variable flag is specified by the arithmetic operator.
26     The SLJIT_KEEP_FLAGS is removed.
28 29.02.2016 - Non-backward compatible
29     Several types and instructions are renamed to improve
30     readability. In general byte, half, and int are renamed
31     to 8, 16, and 32. Floating point types are also renamed
32     from d and s to f64 and f32.
34       [s|u]b -> [s|u]8    (8 bit values)
35       [s|u]h -> [s|u]16   (16 bit values)
36       [s|u]i -> [s|u]32   (32 bit values)
37       d -> f64            (64 bit floating point value)
38       s -> f32            (32 bit floating point value)
40 18.05.2015 - Non-backward compatible
41     SLJIT_[I|]L[U|S]DIV is renamed to SLJIT_[I|][U|S]DIVMOD
43 29.09.2014 - Non-backward compatible
44     The sljit_create_compiler, sljit_allocate_stack, and
45     sljit_free_stack functions have an allocator_data
46     argument now.
48 19.09.2014 - Non-backward compatible
49     Using I, D, S prefixes in conditional and floating
50     point operations. And an L prefix to long multiplication
51     and division (op0 opcodes).
53 11.08.2014 - Non-backward compatible
54     A currently unused options parameter is added to sljit_emit_enter
55     and sljit_set_context.
57 06.07.2014 - Non-backward compatible
58     SCRATCH registers are renamed to Rx and SAVED registers
59     are renamed to Sx. See the explanation of these registers
60     in sljitLir.h.
62 31.05.2014 - Non-backward compatible
63     SLJIT_TEMPORARY_EREGx registers were not renamed to
64     SLJIT_SCRATCH_EREGx when the change was done on 08.11.2012
66 05.03.2014 - Backward compatible
67     The sljit_set_target now supports those jumps, which
68     does not created with SLJIT_REWRITABLE_JUMP flag.
69     Reason: sljit_emit_ijump does not support conditional
70     jumps.
72 03.03.2014 - Non-backward compatible
73     SLJIT_MOV_UI cannot be combined with SLJIT_INT_OP.
74     Reason: SLJIT_INT_OP flag is not recommended to use
75     directly, and SLJIT_IMOV has no sign bit.
77 29.01.2014 - Backward compatible
78     Bits assigned to SLJIT_MEM and SLJIT_IMM flags are changed.
79     Reason: the most common cases are fits into one byte now,
80     and more registers can be supported in the future.
82 08.11.2012 - Non-backward compatible
83     SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
85 07.11.2012 - Non-backward compatible
86     sljit_emit_cond_value is renamed to sljit_emit_op_flags. An
87     extra source argument is added which will be used in the future.
89 05.11.2012 - Backward compatible
90     sljit_emit_cond_value now supports SLJIT_AND and SLJIT_INT_OP
91     flags, which makes this function complete.
93 01.11.2012 - Non-backward compatible
94     SLJIT_F* opcodes are renamed to SLJIT_*D to show that
95     they are double precision operators. Furthermore
96     SLJIT_*S single precision opcodes are added.
98 01.11.2012 - Non-backward compatible
99     Register arguments of operations with SLJIT_INT_OP flag
100     must be computed by another operation with SLJIT_INT_OP flag.
101     The same way as SLJIT_SINGLE_OP flag works with floating point
102     numbers. See the description of SLJIT_INT_OP.
104 01.11.2012 - Backward compatible
105     All operations whose support the SLJIT_INT_OP flag, have an
106     alternate name now, which includes the SLJIT_INT_OP. These
107     names starting with I.
109 31.10.2012 - Non-backward compatible
110     Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h
111     to sljit_sh, and sljit_b to sljit_sb. Reason: their sign
112     bit is part of the type now.
114 20.10.2012 - Non-backward compatible
115     Renaming SLJIT_C_FLOAT_NAN to SLJIT_C_FLOAT_UNORDERED.
116     Reason: all architectures call these unordered comparions.