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

added semantic translation for smlad

parent dfb56caf
Pipeline #1224 failed with stage
in 1 minute and 23 seconds
......@@ -149,7 +149,7 @@ in
| SMLABT x: conditional sem-smlabt x
| SMLATB x: conditional sem-smlatb x
| SMLATT x: conditional sem-smlatt x
# | SMLAD x: conditional sem-smlad x
| SMLAD x: conditional sem-smlad x
# | SMLADX x: conditional sem-smladx x
| SMLAL x: conditional sem-smlal x
# | SMLALBB x: conditional sem-smlalbb x
......@@ -1439,6 +1439,27 @@ val sem-smlatt x = do
cmpneq 64 fQF (var result) (var rd)
end
val sem-smlad x = do
rd <- lval x.opnd1;
opnd2 <- rval x.opnd3;
rn <- rval x.opnd4;
ra <- rval x.opnd2;
product1 <- mktemp;
product2 <- mktemp;
result <- mktemp;
mul 32 product1 (var (varl 16 opnd1)) (var (varl 16 opnd2));
mul 32 product2 (var (at-offset (varl 16 opnd1) 16)) (var (at-offset (varl 16 opnd2) 16));
add 64 result (var product1) (var product2);
add 64 result (var result) ra;
mov 32 rd (var result);
cmpneq 64 fQF (var result) (var rd)
end
val sem-smlal x = do
opnd1 <- rval x.opnd3;
opnd2 <- rval x.opnd4;
......
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