aboutsummaryrefslogtreecommitdiff
path: root/src/lj_jit.h
diff options
context:
space:
mode:
authorMike Pall <mike>2022-12-07 18:38:22 +0100
committerMike Pall <mike>2022-12-07 18:38:22 +0100
commitde2e1ca9d3d87e74c0c20c1e4ad3c32b31a5875b (patch)
treec6dd3a9575b77c9f019c9d8627a814a955227acf /src/lj_jit.h
parent7d5d4a1b1a690d9fc87253868ba967bf25f4df6e (diff)
downloadluajit-de2e1ca9d3d87e74c0c20c1e4ad3c32b31a5875b.tar.gz
luajit-de2e1ca9d3d87e74c0c20c1e4ad3c32b31a5875b.tar.bz2
luajit-de2e1ca9d3d87e74c0c20c1e4ad3c32b31a5875b.zip
Disable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable.
See the discussion in #918 for the rationale.
Diffstat (limited to 'src/lj_jit.h')
-rw-r--r--src/lj_jit.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_jit.h b/src/lj_jit.h
index 32b3861a..7f081730 100644
--- a/src/lj_jit.h
+++ b/src/lj_jit.h
@@ -87,10 +87,11 @@
87#define JIT_F_OPT_ABC (JIT_F_OPT << 7) 87#define JIT_F_OPT_ABC (JIT_F_OPT << 7)
88#define JIT_F_OPT_SINK (JIT_F_OPT << 8) 88#define JIT_F_OPT_SINK (JIT_F_OPT << 8)
89#define JIT_F_OPT_FUSE (JIT_F_OPT << 9) 89#define JIT_F_OPT_FUSE (JIT_F_OPT << 9)
90#define JIT_F_OPT_FMA (JIT_F_OPT << 10)
90 91
91/* Optimizations names for -O. Must match the order above. */ 92/* Optimizations names for -O. Must match the order above. */
92#define JIT_F_OPTSTRING \ 93#define JIT_F_OPTSTRING \
93 "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4sink\4fuse" 94 "\4fold\3cse\3dce\3fwd\3dse\6narrow\4loop\3abc\4sink\4fuse\3fma"
94 95
95/* Optimization levels set a fixed combination of flags. */ 96/* Optimization levels set a fixed combination of flags. */
96#define JIT_F_OPT_0 0 97#define JIT_F_OPT_0 0
@@ -99,6 +100,7 @@
99#define JIT_F_OPT_3 (JIT_F_OPT_2|\ 100#define JIT_F_OPT_3 (JIT_F_OPT_2|\
100 JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_SINK|JIT_F_OPT_FUSE) 101 JIT_F_OPT_FWD|JIT_F_OPT_DSE|JIT_F_OPT_ABC|JIT_F_OPT_SINK|JIT_F_OPT_FUSE)
101#define JIT_F_OPT_DEFAULT JIT_F_OPT_3 102#define JIT_F_OPT_DEFAULT JIT_F_OPT_3
103/* Note: FMA is not set by default. */
102 104
103/* -- JIT engine parameters ----------------------------------------------- */ 105/* -- JIT engine parameters ----------------------------------------------- */
104 106