Gate CS-2013 Question Paper With Solutions

Q. 49 The following code segment is executed on a processor which allows only register operands in its instructions. Each instruction can have atmost two source operands and one destination operand. Assume that all variables are dead after this code segment.

   c = a + b;
   d = c * a;
   e = c + a;
   x = c * c;
   if (x > a) {
      y = a * a;
   }
   else {
     d = d * d;
     e = e * e;
  }

What is the minimum number of registers needed in the instruction set architecture
of the processor to compile this code segment without any spill to memory? Do
not apply any optimization other than optimizing register allocation.

(A) 3

(B) 4

(C) 5

(D) 6

Answer: (B)

Explanation:

Gate CS-2013 Question Paper With Solutions

Learn More:   CS-2002 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here