[...] Also, > + /* Here we would like to handle a special case after sign extending load, > + * when upper bits for a 64-bit range are all 1s or all 0s. > + * > + * Upper bits are all 1s when register is in a rage: ^^^^ I missed 'n' here, sorry > + * [0xffff_ffff_0000_0000, 0xffff_ffff_ffff_ffff] > + * Upper bits are all 0s when register is in a range: > + * [0x0000_0000_0000_0000, 0x0000_0000_ffff_ffff] > + * Together this forms are continuous range: > + * [0xffff_ffff_0000_0000, 0x0000_0000_ffff_ffff] [...]