aboutsummaryrefslogtreecommitdiff
path: root/src/lj_emit_arm64.h
diff options
context:
space:
mode:
authorMike Pall <mike>2016-12-08 01:38:09 +0100
committerMike Pall <mike>2016-12-08 01:38:09 +0100
commit2772cbc36e13200d5b028585abf506a5d19daaba (patch)
tree8067c8bcbe1efc0afe00769024e8cb390220b4ac /src/lj_emit_arm64.h
parentbfeb1167cd77194c1d49368e3c1468f134be337c (diff)
downloadluajit-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.h5
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
77static 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
77static void emit_dnm(ASMState *as, A64Ins ai, Reg rd, Reg rn, Reg rm) 82static 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);