title: Why does this MOVSS instruction use RIP-relative addressing?
body: <p>I found the following assembly code in disassembler (floating point logic c++).</p>
  
  <pre><code>  842: movss  0x21a(%rip),%xmm0 
  </code></pre>
  
  <p>I understand that when process rip will allways be 842 and this 0x21a(%rip) will be const. It seems a little odd to use this register.</p>
  
  <p>I want to know is there any advantage of using rip relative address, instead other addressing.</p>