# Merge 2 32-bits register-based local variables into a single 64-bits one

**URL:** <https://community.hex-rays.com/t/merge-2-32-bits-register-based-local-variables-into-a-single-64-bits-one/677>\
**Category:** IDA General\
**Created:** [February 18, 2026, 10:28am UTC](https://community.hex-rays.com/t/merge-2-32-bits-register-based-local-variables-into-a-single-64-bits-one/677 "2026-02-18T10:28:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![themaks](https://sea2.discourse-cdn.com/flex002/user_avatar/community.hex-rays.com/themaks/32/25_2.png) [@themaks](https://community.hex-rays.com/u/themaks)\
**Post date:** [February 18, 2026, 10:28am UTC](https://community.hex-rays.com/t/merge-2-32-bits-register-based-local-variables-into-a-single-64-bits-one/677/1 "2026-02-18T10:28:10Z")

</div>

Hello there!

What is the (simplest) way in the Hex-Rays decompiler to “merge” 2 separate 32-bits register-based local variables into a single 64bits one. Example:

```auto
int v37; // r5
int v38; // r9
...
v37 = array[0];
v38 = array[1];
...
function( __SPAIR64__ (v38, v37))

```

How do I create a single `__int64` variable whose location is `r9:r5` ?

Thanks for your insights!

---

<div class="post-metadata">

**Author:** ![igor](https://sea2.discourse-cdn.com/flex002/user_avatar/community.hex-rays.com/igor/32/35_2.png) [@igor](https://community.hex-rays.com/u/igor)\
**Post date:** [February 23, 2026, 10:50am UTC](https://community.hex-rays.com/t/merge-2-32-bits-register-based-local-variables-into-a-single-64-bits-one/677/2 "2026-02-23T10:50:50Z")

</div>

Currently it’s not possible to create manual pairs of non-adjacent registers. In most cases the decompiler should detect when two registers are used for a larger variable. It’s hard to say why it doesn’t happen here without having the binary, but possibly changing the array to contain 64-bit items would help.
