diff --git a/llvm/test/CodeGen/AArch64/logical_shifted_reg.ll b/llvm/test/CodeGen/AArch64/logical_shifted_reg.ll --- a/llvm/test/CodeGen/AArch64/logical_shifted_reg.ll +++ b/llvm/test/CodeGen/AArch64/logical_shifted_reg.ll @@ -289,4 +289,16 @@ ret void } +define i64 @add_swap_rhs_lhs(i64 %0, i64 %1) { +; CHECK-LABEL: add_swap_rhs_lhs: +; CHECK: // %bb.0: +; CHECK-NEXT: lsl x8, x1, #3 +; CHECK-NEXT: add x0, x8, x0, lsl #8 +; CHECK-NEXT: ret + %3 = shl i64 %0, 8 + %4 = shl i64 %1, 3 + %5 = add i64 %4, %3 + ret i64 %5 +} + !1 = !{!"branch_weights", i32 1, i32 1}