Skip to content

Latest commit

 

History

History
68 lines (62 loc) · 2.47 KB

README.md

File metadata and controls

68 lines (62 loc) · 2.47 KB

5.13

A.

 +----+----+----+----+-----+-----+
 |%rbp|%rcx|%rax|%rbx|%xmm1|%xmm0|
 +----+----+----+----+-----+-----++----+
   +----|----|----|----------|--->|    |
   |    +----|----|----------|--->|load|      vmovad 0(%rbp,%rcx,8),%xmm1
   |    |    |    |    +-----|----|    |
   |    |    |    |    |     |    +----+
   |    +----|----|----------|--->|    |
   |    |    |    |    |     |    |load|---+
   |    |    +----|----------|--->|    |   |
   |    |    |    |    |     |    +----+   |  vmulsd (%rax,%rcx,8),%xmm1,%xmm0
   |    |    |    |    |     |    |    |<--+
   |    |    |    |    +-----|--->|mul |
   |    |    |    |    +-----|----|    |
   |    |    |    |    |     |    +----+
   |    |    |    |    +-----|--->|    |
   |    |    |    |    |     +--->|add |      vaddsd %xmm1,%xmm0,%xmm0
   |    |    |    |    |     +----|    |
   |    |    |    |    |     |    +----+
   |    +----|----|----------|--->|    |
   |         |    |    |     |    |add |      addq $1, %rcx
   |    +----|----|----------|----|    |
   |    |    |    |    |     |    +----+
   |    +----|----|----------|--->|    |
   |    |    |    |    |     |    |cmp |---+  cmpq %rbx, %rcx
   |    |    |    +----|-----|--->|    |   |
   |    |    |    |    |     |    +----+   |
   |    |    |    |    |     |    |    |   |
   |    |    |    |    |     |    |jne |<--+  jne .L15
   |    |    |    |    |     |    |    |
   |    |    |    |    |     |    +----+
   v    v    v    v    v     v
 +----+----+----+----+-----+-----+
 |%rbp|%rcx|%rax|%rbx|%xmm1|%xmm0|
 +----+----+----+----+-----+-----+



      +----+                      +-----+
      |%rcx|                      |%xmm0|
      +----+                      +-----+
        |                           |
        |     +----+                |  <--------- key path
        +---->|load|------+         |
        |     +----+      |         |
        |                 v         v
        |     +----+    +-+--+    +-+--+
        +---->|load|--->|mul |--->|add |
        |     +----+    +----+    +----+
        |                           |
        |                           |
        v                           |
      +----+                        |
      |add |                        |
      +----+                        |
        |                           |
        v                           v
      +-+--+                      +-----+
      |%rcx|                      |%xmm0|
      +----+                      +-----+

B. C. D. because add is key path.