Optimization Topics/Exercise 02

From Wiki**3

< Optimization Topics
Revision as of 17:06, 2 June 2012 by Root (talk | contribs) (Created page with "Considere a seguinte função em C: # Que optimizações independentes da máquina são possíveis? # Traduza-a para Postfix optimizado. <c> int *fun(int *a, int *b, int len) { ...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Considere a seguinte função em C:

  1. Que optimizações independentes da máquina são possíveis?
  2. Traduza-a para Postfix optimizado.

<c> int *fun(int *a, int *b, int len) {

 int *c = (int *)malloc(2 * 4), i;
 for (i = 0; i < (len < 2 ? len : 2); i++)
   c[i] = a[i] + b[i];
 return c;

} </c>

Instruções Postfix:

<text> directivas: text data rodata bss align label extrn globl const str char id byte double acesso: addr addra addrv local loca locv load load2 ldchr store store2 stchr

         alloc dup swap push pop int sp

aritmética/lógica: add dadd sub dsub mul dmul div ddiv mod neg gt ge lt le eq ne cmp bit a bit: rotl rotr shtl shtru shtrs and or not xor funções/saltos: call ret start enter leave trash jmp jz jnz branch leap </text>