title: error: impossible register constraint in 'asm'
body: <p>I've run into a problem while compiling a package around, I am not
  really a good coder, but I tried fixing it for my self, and it still won't compile.
  This is the original bit of code.:</p>
  
  <pre><code>#ifdef __GNUC__
  asm("and $3, %%ecx;"
  "shl $3 ,%%ecx;"
  "ror %%cl, %0"
  : "=r" (value)
  : "r" (value), "c" (address));
  #else
  </code></pre>
  
  <p>The error is .:</p>
  
  <p>GBAinline.h:139: error: impossible register constraint in 'asm'
  ( ifdef line is 138 )</p>
  
  <p>And this is how I tried to make it look.:</p>
  
  <pre><code>#ifdef __GNUC__
  asm ("and $3 %%ecx,shl $3 %%ecx,ror %%cl, %0" : "=r" (value): "r" (value), "c" (address));
  
  #else
  </code></pre>
  
  <p>Still, it would not work. It's a gba emulator before anyone ask, VBA, and this is
  part of GBAinline.h . This assembler is making me crazy already.</p>
  
  <p>Edit.: The problem above was handled fine, I just was not paying attention to which
  compiler I was using.
  But now I get this error on this bit of code from a header file, I've put it on pastebin,
  to keep things here a bit more tidy... ( Sorry if this is wrong, i can change that later )</p>
  
  <p>This is the header that has the lines that results in errors.:
  <a href="http://pastebin.com/k3D4cg0d" rel="nofollow">http://pastebin.com/k3D4cg0d</a></p>
  
  <p>And this is the C file it refers to.:
  <a href="http://pastebin.com/Ymg1X5dg" rel="nofollow">http://pastebin.com/Ymg1X5dg</a></p>
  
  <p>This is giving an error like this.:</p>
  
  <pre><code>/var/tmp/cc3zA0lH.s: Assembler messages: /var/tmp/cc3zA0lH.s:69: Error: bad instruction `sw $3,0(r3)',
  </code></pre>
  
  <p>And so on for the rest of those lines.</p>