From 413136926c66e97b4dd137b354665e5ae4ebb89e Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Sun, 10 Aug 2025 19:47:28 +0200 Subject: Instruction selection finish --- parser.fun | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'parser.fun') diff --git a/parser.fun b/parser.fun index ca4171a..754aab6 100644 --- a/parser.fun +++ b/parser.fun @@ -1993,10 +1993,10 @@ functor Parser(structure Tree: TREE; structure P: PPC; and extz w fromSize = let - val minus1 = Word64.notb (Word64.fromInt 0) - val mask = Word64.>> (minus1, 0w64 - fromSize * 0w8) + open Word + val mask = >> (~ 0w1, 0w64 - fromSize * 0w8) - val res = Word64.andb (mask, w) + val res = andb (mask, w) in res end @@ -3253,16 +3253,9 @@ functor Parser(structure Tree: TREE; structure P: PPC; ) end - fun makeDivBy8 v = - let - open Word - in - (v + 0w7) div 0w8 * 0w8 - end - fun registerLayout layout t toplev = let - val size = makeDivBy8 $ sizeOfType t + val size = sizeOfType t in D.pushAndGetId iniLayouts (toplev, size, layout) end -- cgit v1.2.3