Gate2017 cs Q55

0. Consider the expression (a-1) * ((( b + c ) / 3 ) + d) Let X be the minimum number of registers required by an optimal code generation (without any register spill) algorithm for a load/store architecture in which
(i) only loads and store instructions can have memory operands and
(ii) arithmetic instructions can have only register or immediate operands.
The value of X is _____.

  • Option : A
  • Explanation :

    The given expression is (a-1) * ((( b + c ) / 3 ) + d)
    The optimal generated code is:
    Load R1, b       R1 ⟵ b
    Load R2, c       R2 ⟵ c
    ADD R1, R2      R1 ⟵ R1 + R2
    Div R1, 3       R1 ⟵ R1/3
    Load R2, d       R2 ⟵ d
    Add R1, R2       R1 ⟵ R1 + R2
    Load R2, a       R2 ⟵ a
    Sub R2, 1       R2 ⟵ R2 - 1
    Mul R2, R1       R2 ⟵ R2 * R1
    Hence minimum 2 registers required.
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *