11.1SalnsnThis file is the short summary of the API changes: 21.1Salnsn 31.1.1.3Salnsn27.03.2017 - Non-backward compatible 41.1.1.3Salnsn JIT stack is changed from bottom-up to top-town. 51.1.1.3Salnsn 61.1.1.3Salnsn15.01.2017 - Non-backward compatible 71.1.1.3Salnsn Move with update may modifiy flags, the base register 81.1.1.3Salnsn can only be used once and [reg+reg<<shift] addressing 91.1.1.3Salnsn mode where shift > 0 is not supported anymore. 101.1.1.3Salnsn 111.1.1.3Salnsn12.01.2017 - Non-backward compatible 121.1.1.3Salnsn Introducing a new flag mechanism which provides better 131.1.1.3Salnsn compatibility with CPUs without flags. Only two flags 141.1.1.3Salnsn remain: zero and variable. The current type of the 151.1.1.3Salnsn variable flag is specified by the arithmetic operator. 161.1.1.3Salnsn The SLJIT_KEEP_FLAGS is removed. 171.1.1.3Salnsn 181.1.1.2Salnsn29.02.2016 - Non-backward compatible 191.1.1.2Salnsn Several types and instructions are renamed to improve 201.1.1.2Salnsn readability. In general byte, half, and int are renamed 211.1.1.2Salnsn to 8, 16, and 32. Floating point types are also renamed 221.1.1.2Salnsn from d and s to f64 and f32. 231.1.1.2Salnsn 241.1.1.2Salnsn [s|u]b -> [s|u]8 (8 bit values) 251.1.1.2Salnsn [s|u]h -> [s|u]16 (16 bit values) 261.1.1.2Salnsn [s|u]i -> [s|u]32 (32 bit values) 271.1.1.2Salnsn d -> f64 (64 bit floating point value) 281.1.1.2Salnsn s -> f32 (32 bit floating point value) 291.1.1.2Salnsn 301.1.1.2Salnsn18.05.2015 - Non-backward compatible 311.1.1.2Salnsn SLJIT_[I|]L[U|S]DIV is renamed to SLJIT_[I|][U|S]DIVMOD 321.1.1.2Salnsn 331.1.1.2Salnsn29.09.2014 - Non-backward compatible 341.1.1.2Salnsn The sljit_create_compiler, sljit_allocate_stack, and 351.1.1.2Salnsn sljit_free_stack functions have an allocator_data 361.1.1.2Salnsn argument now. 371.1.1.2Salnsn 381.1.1.2Salnsn19.09.2014 - Non-backward compatible 391.1.1.2Salnsn Using I, D, S prefixes in conditional and floating 401.1.1.2Salnsn point operations. And an L prefix to long multiplication 411.1.1.2Salnsn and division (op0 opcodes). 421.1.1.2Salnsn 431.1.1.2Salnsn11.08.2014 - Non-backward compatible 441.1.1.2Salnsn A currently unused options parameter is added to sljit_emit_enter 451.1.1.2Salnsn and sljit_set_context. 461.1.1.2Salnsn 471.1.1.2Salnsn06.07.2014 - Non-backward compatible 481.1.1.2Salnsn SCRATCH registers are renamed to Rx and SAVED registers 491.1.1.2Salnsn are renamed to Sx. See the explanation of these registers 501.1.1.2Salnsn in sljitLir.h. 511.1.1.2Salnsn 521.1.1.2Salnsn31.05.2014 - Non-backward compatible 531.1.1.2Salnsn SLJIT_TEMPORARY_EREGx registers were not renamed to 541.1.1.2Salnsn SLJIT_SCRATCH_EREGx when the change was done on 08.11.2012 551.1.1.2Salnsn 561.1Salnsn05.03.2014 - Backward compatible 571.1Salnsn The sljit_set_target now supports those jumps, which 581.1Salnsn does not created with SLJIT_REWRITABLE_JUMP flag. 591.1Salnsn Reason: sljit_emit_ijump does not support conditional 601.1Salnsn jumps. 611.1Salnsn 621.1Salnsn03.03.2014 - Non-backward compatible 631.1Salnsn SLJIT_MOV_UI cannot be combined with SLJIT_INT_OP. 641.1Salnsn Reason: SLJIT_INT_OP flag is not recommended to use 651.1Salnsn directly, and SLJIT_IMOV has no sign bit. 661.1Salnsn 671.1Salnsn29.01.2014 - Backward compatible 681.1Salnsn Bits assigned to SLJIT_MEM and SLJIT_IMM flags are changed. 691.1Salnsn Reason: the most common cases are fits into one byte now, 701.1Salnsn and more registers can be supported in the future. 711.1Salnsn 721.1Salnsn08.11.2012 - Non-backward compatible 731.1Salnsn SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx. 741.1Salnsn 751.1Salnsn07.11.2012 - Non-backward compatible 761.1Salnsn sljit_emit_cond_value is renamed to sljit_emit_op_flags. An 771.1Salnsn extra source argument is added which will be used in the future. 781.1Salnsn 791.1Salnsn05.11.2012 - Backward compatible 801.1Salnsn sljit_emit_cond_value now supports SLJIT_AND and SLJIT_INT_OP 811.1Salnsn flags, which makes this function complete. 821.1Salnsn 831.1Salnsn01.11.2012 - Non-backward compatible 841.1Salnsn SLJIT_F* opcodes are renamed to SLJIT_*D to show that 851.1Salnsn they are double precision operators. Furthermore 861.1Salnsn SLJIT_*S single precision opcodes are added. 871.1Salnsn 881.1Salnsn01.11.2012 - Non-backward compatible 891.1Salnsn Register arguments of operations with SLJIT_INT_OP flag 901.1Salnsn must be computed by another operation with SLJIT_INT_OP flag. 911.1Salnsn The same way as SLJIT_SINGLE_OP flag works with floating point 921.1Salnsn numbers. See the description of SLJIT_INT_OP. 931.1Salnsn 941.1Salnsn01.11.2012 - Backward compatible 951.1Salnsn All operations whose support the SLJIT_INT_OP flag, have an 961.1Salnsn alternate name now, which includes the SLJIT_INT_OP. These 971.1Salnsn names starting with I. 981.1Salnsn 991.1Salnsn31.10.2012 - Non-backward compatible 1001.1Salnsn Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h 1011.1Salnsn to sljit_sh, and sljit_b to sljit_sb. Reason: their sign 1021.1Salnsn bit is part of the type now. 1031.1Salnsn 1041.1Salnsn20.10.2012 - Non-backward compatible 1051.1Salnsn Renaming SLJIT_C_FLOAT_NAN to SLJIT_C_FLOAT_UNORDERED. 1061.1Salnsn Reason: all architectures call these unordered comparions. 107