<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59707>59707</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Is it possible to access 32-64bit registers in C-Cpp?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          UnlimitedChild
      </td>
    </tr>
</table>

<pre>
    Hello,

**GCC Example** 
`int square(int num) {
    register int ecx asm("ecx");
    register int rax asm("rax");
    num = ecx;
    ecx = 1;
    return num * num;
}`

`square(int):
        push    rbp
        mov rbp, rsp
        mov     DWORD PTR [rbp-4], edi
        mov     DWORD PTR [rbp-4], ecx
        mov     ecx, 1
        mov     eax, DWORD PTR [rbp-4]
        imul    eax, eax
        pop     rbp
 ret`


**Clang Example**
`int square(int num) {
    register int ecx asm("ecx");
    register int rax asm("rax");
    num = ecx;
    ecx = 1;
    return num * num;
}`

`square(int): # @square(int)
        push    rbp
        mov rbp, rsp
        mov     dword ptr [rbp - 4], edi
        mov eax, dword ptr [rbp - 8]
        mov     dword ptr [rbp - 4], eax
 mov     dword ptr [rbp - 8], 1
        mov     eax, dword ptr [rbp - 4]
        imul    eax, dword ptr [rbp - 4]
        pop     rbp
 ret`

Thanks!
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkVE1v2zAM_TX0hUgg0_HXwYfWXradNhQddpYtLdYmf0yS2-zfD3K9Nm7ToAN2mxBEMN97JE09i1urDr2UBcTXEFcBn1w7mOJLr1WnnBRlq7QI6kH8Kj5IrQegElgF7Gr5J_97X5b47si7UcuHAC5owlTv0P6cuJFAmX_opw4oR0ivHziIiEYelHXSoCfI5ojcdkAZEMnmCERAOUSv8Q0_4Rt-jt9PHUJU-dSruC_l4-Gz7G4y_YOIruaG_8CQVpCw1QASdvp6c-Wrp1x-jZNt57z1uAa64W4OUonGnsH8qr5-uqnw8-0NQnxt6nGzg7jyCinU3yqa43nFPOQSw1dQPqPn064Uqpv0icJv60EMI64HYaR7Ps8TW5Wa94e1sf5vXyFQhLB7gfw7u4n7wQgcnVlOGTd40XDLUZ-RZS_s8ZYaj5a5QM4W8mW_vlblkmPfpHmLi29b3v-wQGEgikjkUc4DWYRJSiylNI6DtohrweKE84xYJBiFecqzJonqRuSp_JalgSqIEYVESZhEeRhvOWMpT7JMcKrjMG9gx2THld5qfddtB3MIlLWTLOI8ZWmgeS21nW91ol7e4wx6D8dVYAqv2dTTwcKOaWWdfcrilNOy-GhRORwHa1WtJboBedNIazGiTbKrlXv8WCyqHstNOY4Q7YPJ6KJ1brT-GqQ90P6gXDvV22bogPa-yrJtRjN8l40D2s-9WaD93PvvAAAA__9Rqcnr">