[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gm2] What actually happens to ShiftLeft?
From: |
Gaius Mulley |
Subject: |
Re: [Gm2] What actually happens to ShiftLeft? |
Date: |
Tue, 13 Feb 2018 14:06:50 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
john o goyo <address@hidden> writes:
> Gaius,
>
> ShiftLeft is part of SYSTEM.mod. How is it actually incorporated into
> the compiler?
>
> Sincerely,
> john
Hi John,
it is incorporated inside:
gcc-versionno/gcc/gm2/gm2-compiler/M2GenGCC.mod inside procedure
CodeSetRotate.
CodeSetRotate calls CodeBinarySetShift with the three rotate function
names (used inside SYSTEM.mod). It also has access to the word shift
function (used in GCC) which is BuildLogicalRotate (inside
gm2-gcc/expr.c). CodeBinarySetShift determines the set size and then
calls BuildBinarySetDo (gm2-gcc/expr.c) which uses the word based
function for word sized sets xor it uses the system shift procedure for
sets > TSIZE(WORD)
hope this helps.
regards,
Gaius