diff options
author | Mike Pall <mike> | 2016-12-08 01:38:09 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2016-12-08 01:38:09 +0100 |
commit | 2772cbc36e13200d5b028585abf506a5d19daaba (patch) | |
tree | 8067c8bcbe1efc0afe00769024e8cb390220b4ac /src/lj_emit_arm64.h | |
parent | bfeb1167cd77194c1d49368e3c1468f134be337c (diff) | |
download | luajit-2772cbc36e13200d5b028585abf506a5d19daaba.tar.gz luajit-2772cbc36e13200d5b028585abf506a5d19daaba.tar.bz2 luajit-2772cbc36e13200d5b028585abf506a5d19daaba.zip |
ARM64: Fuse FP multiply-add/sub.
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Diffstat (limited to '')
-rw-r--r-- | src/lj_emit_arm64.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_emit_arm64.h b/src/lj_emit_arm64.h index 6686802b..e0f43689 100644 --- a/src/lj_emit_arm64.h +++ b/src/lj_emit_arm64.h | |||
@@ -74,6 +74,11 @@ static uint32_t emit_isfpk64(uint64_t n) | |||
74 | 74 | ||
75 | /* -- Emit basic instructions --------------------------------------------- */ | 75 | /* -- Emit basic instructions --------------------------------------------- */ |
76 | 76 | ||
77 | static void emit_dnma(ASMState *as, A64Ins ai, Reg rd, Reg rn, Reg rm, Reg ra) | ||
78 | { | ||
79 | *--as->mcp = ai | A64F_D(rd) | A64F_N(rn) | A64F_M(rm) | A64F_A(ra); | ||
80 | } | ||
81 | |||
77 | static void emit_dnm(ASMState *as, A64Ins ai, Reg rd, Reg rn, Reg rm) | 82 | static void emit_dnm(ASMState *as, A64Ins ai, Reg rd, Reg rn, Reg rm) |
78 | { | 83 | { |
79 | *--as->mcp = ai | A64F_D(rd) | A64F_N(rn) | A64F_M(rm); | 84 | *--as->mcp = ai | A64F_D(rd) | A64F_N(rn) | A64F_M(rm); |