Commit fc2f3293 authored by Lovis J.I. Zenz's avatar Lovis J.I. Zenz
Browse files

fixed semantic translation for smlad - 004

parent c93845b9
Pipeline #1233 failed with stage
in 1 minute and 16 seconds
This diff is collapsed.
......@@ -1383,7 +1383,7 @@ val sem-smlabb x = do
result <- mktemp;
mul 32 result (var (varl 16 opnd1)) (var (varl 16 opnd2));
mul 16 result (var (varl 16 opnd1)) (var (varl 16 opnd2));
add 64 result (var result) ra;
mov 32 rd (var result);
......@@ -1445,17 +1445,34 @@ val sem-smlad x = do
rn <- lval x.opnd4;
ra <- rval x.opnd2;
factor11 <- mktemp;
factor12 <- mktemp;
factor21 <- mktemp;
factor22 <- mktemp;
product1 <- mktemp;
product2 <- mktemp;
result <- mktemp;
comparator <- mktemp;
movsx 32 factor11 16 (var rn);
movsx 32 factor12 16 (var (at-offset rn 16));
movsx 32 factor21 16 (var opnd2);
movsx 32 factor22 16 (var (at-offset opnd2 16));
mul 32 product1 (var factor11) (var factor21);
mul 32 product2 (var factor12) (var factor22);
mul 32 product1 (var (varl 16 rn)) (var (varl 16 opnd2));
mul 32 product2 (var (at-offset (varl 16 rn) 16)) (var (at-offset (varl 16 opnd2) 16));
movsx 64 product1 32 product1;
movsx 64 product2 32 product2;
add 64 result (var product1) (var product2);
add 64 result (var result) ra;
mov 32 rd (var result);
movsx 64 comparator 32 (var rd);
cmpneq 64 fQF (var result) (var rd)
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment