blob: 6aa1415d30f450bb2f152a0b50ecd011f4db095f [file]
# RUN: llc -mtriple aarch64 -passes="print<gisel-value-tracking>" %s -filetype=null 2>&1 | FileCheck %s
# CHECK-LABEL: name: @urem_pow2
# CHECK-NEXT: %0:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %1:_ KnownBits:00000000000000000000000000001000 SignBits:28
# CHECK-NEXT: %2:_ KnownBits:00000000000000000000000000000??? SignBits:29
name: urem_pow2
body: |
bb.1:
liveins: $w0
%0:_(i32) = COPY $w0
%1:_(i32) = G_CONSTANT i32 8
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...
# CHECK-LABEL: name: @urem_non_pow2
# CHECK-NEXT: %0:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %1:_ KnownBits:00000000000000000000000000001010 SignBits:28
# CHECK-NEXT: %2:_ KnownBits:0000000000000000000000000000???? SignBits:28
name: urem_non_pow2
body: |
bb.1:
liveins: $w0
%0:_(i32) = COPY $w0
%1:_(i32) = G_CONSTANT i32 10
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...
# CHECK-LABEL: name: @urem
# CHECK-NEXT: %0:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %1:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %2:_ KnownBits:???????????????????????????????? SignBits:1
name: urem
body: |
bb.1:
liveins: $w0, $w1
%0:_(i32) = COPY $w0
%1:_(i32) = COPY $w1
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...
# CHECK-LABEL: name: @urem_implicit_def
# CHECK-NEXT: %0:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %1:_ KnownBits:00000000000000000000000000001000 SignBits:28
# CHECK-NEXT: %2:_ KnownBits:00000000000000000000000000000??? SignBits:29
name: urem_implicit_def
body: |
bb.1:
liveins: $w0
%0:_(i32) = G_IMPLICIT_DEF
%1:_(i32) = G_CONSTANT i32 8
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...
# CHECK-LABEL: name: @urem_both_implicit_def
# CHECK-NEXT: %0:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %1:_ KnownBits:???????????????????????????????? SignBits:1
# CHECK-NEXT: %2:_ KnownBits:???????????????????????????????? SignBits:1
name: urem_both_implicit_def
body: |
bb.1:
%0:_(i32) = G_IMPLICIT_DEF
%1:_(i32) = G_IMPLICIT_DEF
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...
# CHECK-LABEL: name: @urem_const_const
# CHECK-NEXT: %0:_ KnownBits:00000000000000000000000000001010 SignBits:28
# CHECK-NEXT: %1:_ KnownBits:00000000000000000000000000000011 SignBits:30
# CHECK-NEXT: %2:_ KnownBits:000000000000000000000000000000?? SignBits:30
name: urem_const_const
body: |
bb.1:
%0:_(i32) = G_CONSTANT i32 10
%1:_(i32) = G_CONSTANT i32 3
%2:_(i32) = G_UREM %0, %1
$w0 = COPY %2(i32)
RET_ReallyLR implicit $w0
...