1 ; RUN: llc -mtriple arm64-ios- -aarch64-enable-sink-fold=true %s -o - | FileCheck %s
3 ; Check the -8 constant is shrunk if there are multiple users of the AND instruction.
6 ; CHECK: and x19, x0, #0xfffffff8
7 ; CHECK-NEXT: mov x0, x19
9 ; CHECK: add x0, x19, #10
11 define i64 @test(i32 %a) {
12 %ext = zext i32 %a to i64
13 %v1 = and i64 %ext, -8
15 call void @user(i64 %v1)
19 declare void @user(i64)