]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Wed, 11 Jun 2014 20:47:10 +0000 (22:47 +0200)
committerMike Pall <mike>
Wed, 11 Jun 2014 20:47:10 +0000 (22:47 +0200)
1  2 
src/lj_ircall.h

diff --cc src/lj_ircall.h
index 27c7fbe5c65b8a39766cd2fc2631cdb88af7ce75,92d61dfad8ed831536ecafb69a77a0afa80fba57..9bf469186aa8339c7cee7edf466db0c23ce148d8
@@@ -98,12 -86,16 +98,18 @@@ typedef struct CCallInfo 
  #define IRCALLCOND_FFI32(x)           NULL
  #endif
  
+ #if LJ_TARGET_X86
+ #define CCI_RANDFPR   0       /* Clang on OSX/x86 is overzealous. */
+ #else
+ #define CCI_RANDFPR   CCI_NOFPRCLOBBER
+ #endif
  #if LJ_SOFTFP
 -#define ARG1_FP               2       /* Treat as 2 32 bit arguments. */
 +#define XA_FP         CCI_XA
 +#define XA2_FP                (CCI_XA+CCI_XA)
  #else
 -#define ARG1_FP               1
 +#define XA_FP         0
 +#define XA2_FP                0
  #endif
  
  #if LJ_32
    _(ANY,      lj_gc_step_jit,         2,  FS, NIL, CCI_L) \
    _(ANY,      lj_gc_barrieruv,        2,  FS, NIL, 0) \
    _(ANY,      lj_mem_newgco,          2,  FS, P32, CCI_L) \
-   _(ANY,      lj_math_random_step, 1, FS, NUM, CCI_CASTU64|CCI_NOFPRCLOBBER) \
+   _(ANY,      lj_math_random_step, 1, FS, NUM, CCI_CASTU64|CCI_RANDFPR)\
    _(ANY,      lj_vm_modi,             2,  FN, INT, 0) \
 -  _(ANY,      sinh,                   ARG1_FP,  N, NUM, 0) \
 -  _(ANY,      cosh,                   ARG1_FP,  N, NUM, 0) \
 -  _(ANY,      tanh,                   ARG1_FP,  N, NUM, 0) \
 -  _(ANY,      fputc,                  2,  S, INT, 0) \
 -  _(ANY,      fwrite,                 4,  S, INT, 0) \
 -  _(ANY,      fflush,                 1,  S, INT, 0) \
 +  _(ANY,      sinh,                   1,   N, NUM, XA_FP) \
 +  _(ANY,      cosh,                   1,   N, NUM, XA_FP) \
 +  _(ANY,      tanh,                   1,   N, NUM, XA_FP) \
 +  _(ANY,      fputc,                  2,   S, INT, 0) \
 +  _(ANY,      fwrite,                 4,   S, INT, 0) \
 +  _(ANY,      fflush,                 1,   S, INT, 0) \
    /* ORDER FPM */ \
 -  _(FPMATH,   lj_vm_floor,            ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   lj_vm_ceil,             ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   lj_vm_trunc,            ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   sqrt,                   ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   exp,                    ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   lj_vm_exp2,             ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   log,                    ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   lj_vm_log2,             ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   log10,                  ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   sin,                    ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   cos,                    ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   tan,                    ARG1_FP,   N, NUM, 0) \
 -  _(FPMATH,   lj_vm_powi,             ARG1_FP+1, N, NUM, 0) \
 -  _(FPMATH,   pow,                    ARG1_FP*2, N, NUM, 0) \
 -  _(FPMATH,   atan2,                  ARG1_FP*2, N, NUM, 0) \
 -  _(FPMATH,   ldexp,                  ARG1_FP+1, N, NUM, 0) \
 +  _(FPMATH,   lj_vm_floor,            1,   N, NUM, XA_FP) \
 +  _(FPMATH,   lj_vm_ceil,             1,   N, NUM, XA_FP) \
 +  _(FPMATH,   lj_vm_trunc,            1,   N, NUM, XA_FP) \
 +  _(FPMATH,   sqrt,                   1,   N, NUM, XA_FP) \
 +  _(FPMATH,   exp,                    1,   N, NUM, XA_FP) \
 +  _(FPMATH,   lj_vm_exp2,             1,   N, NUM, XA_FP) \
 +  _(FPMATH,   log,                    1,   N, NUM, XA_FP) \
 +  _(FPMATH,   lj_vm_log2,             1,   N, NUM, XA_FP) \
 +  _(FPMATH,   log10,                  1,   N, NUM, XA_FP) \
 +  _(FPMATH,   sin,                    1,   N, NUM, XA_FP) \
 +  _(FPMATH,   cos,                    1,   N, NUM, XA_FP) \
 +  _(FPMATH,   tan,                    1,   N, NUM, XA_FP) \
 +  _(FPMATH,   lj_vm_powi,             2,   N, NUM, XA_FP) \
 +  _(FPMATH,   pow,                    2,   N, NUM, XA2_FP) \
 +  _(FPMATH,   atan2,                  2,   N, NUM, XA2_FP) \
 +  _(FPMATH,   ldexp,                  2,   N, NUM, XA_FP) \
    _(SOFTFP,   lj_vm_tobit,            2,   N, INT, 0) \
    _(SOFTFP,   softfp_add,             4,   N, NUM, 0) \
    _(SOFTFP,   softfp_sub,             4,   N, NUM, 0) \