__uint128_t a << shift_int; The corresponding LLVM IR of C code above is %shl = shl i128 %a, %shift_int AArch64 machine code of IR above can't be generated, since SHL_PARTS are not lowered. That's why we opload this patch http://llvm-reviews.chandlerc.com/D3076