# NOTE: Assertions have been autogenerated by utils/update_givaluetracking_test_checks.py UTC_ARGS: --version 6 # RUN: llc -mtriple=aarch64 -passes='print' -filetype=null %s 2>&1 | FileCheck %s --- name: Cst body: | bb.0: ; CHECK-LABEL: name: @Cst ; CHECK-NEXT: %0:_ KnownBits:00010011 SignBits:3 ; CHECK-NEXT: %1:_ KnownBits:11100000 SignBits:3 ; CHECK-NEXT: %2:_ KnownBits:00010000 SignBits:3 %0:_(s8) = G_CONSTANT i8 19 %1:_(s8) = G_CONSTANT i8 224 %2:_(s8) = G_UMULH %0, %1 ... --- name: CstZero body: | bb.0: ; CHECK-LABEL: name: @CstZero ; CHECK-NEXT: %0:_ KnownBits:11111111 SignBits:8 ; CHECK-NEXT: %1:_ KnownBits:00000000 SignBits:8 ; CHECK-NEXT: %2:_ KnownBits:00000000 SignBits:8 %0:_(s8) = G_CONSTANT i8 255 %1:_(s8) = G_CONSTANT i8 0 %2:_(s8) = G_UMULH %0, %1 ... --- name: ScalarVar body: | bb.0: ; CHECK-LABEL: name: @ScalarVar ; CHECK-NEXT: %0:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %1:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %2:_ KnownBits:???????? SignBits:1 %0:_(s8) = COPY $b0 %1:_(s8) = COPY $b1 %2:_(s8) = G_UMULH %0, %1 ... --- name: ScalarZero body: | bb.0: ; CHECK-LABEL: name: @ScalarZero ; CHECK-NEXT: %0:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %1:_ KnownBits:00000000 SignBits:8 ; CHECK-NEXT: %2:_ KnownBits:00000000 SignBits:8 %0:_(s8) = COPY $b0 %1:_(s8) = G_CONSTANT i8 0 %2:_(s8) = G_UMULH %0, %1 ... --- name: ScalarVarAbs body: | bb.0: ; CHECK-LABEL: name: @ScalarVarAbs ; CHECK-NEXT: %0:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %1:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %2:_ KnownBits:???????????????? SignBits:9 ; CHECK-NEXT: %3:_ KnownBits:0000000000000001 SignBits:15 ; CHECK-NEXT: %4:_ KnownBits:0000000000000000 SignBits:16 %0:_(s8) = COPY $b0 %1:_(s8) = G_ABS %0 %2:_(s16) = G_SEXT %1 %3:_(s16) = G_CONSTANT i16 1 %4:_(s16) = G_UMULH %2, %3 ... --- name: SplatVecCst body: | bb.0: ; CHECK-LABEL: name: @SplatVecCst ; CHECK-NEXT: %0:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %1:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %2:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %3:_ KnownBits:11110100 SignBits:4 %0:_(s8) = G_CONSTANT i8 250 %1:_() = G_SPLAT_VECTOR %0(s8) %2:_() = G_SPLAT_VECTOR %0(s8) %3:_() = G_UMULH %1, %2 ... --- name: SplatVecPartScalar body: | bb.0: ; CHECK-LABEL: name: @SplatVecPartScalar ; CHECK-NEXT: %0:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %1:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %2:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %3:_ KnownBits:00001111 SignBits:4 ; CHECK-NEXT: %4:_ KnownBits:0000???? SignBits:4 ; CHECK-NEXT: %5:_ KnownBits:0000???? SignBits:4 ; CHECK-NEXT: %6:_ KnownBits:0000???? SignBits:4 %0:_(s8) = G_CONSTANT i8 250 %1:_() = G_SPLAT_VECTOR %0(s8) %2:_(s8) = G_IMPLICIT_DEF %3:_(s8) = G_CONSTANT i8 15 %4:_(s8) = G_AND %2, %3 %5:_() = G_SPLAT_VECTOR %4(s8) %6:_() = G_UMULH %1, %5 ... --- name: VecCst body: | bb.0: ; CHECK-LABEL: name: @VecCst ; CHECK-NEXT: %0:_ KnownBits:00011001 SignBits:3 ; CHECK-NEXT: %1:_ KnownBits:11100001 SignBits:3 ; CHECK-NEXT: %2:_ KnownBits:?????001 SignBits:3 ; CHECK-NEXT: %3:_ KnownBits:?????001 SignBits:3 ; CHECK-NEXT: %4:_ KnownBits:???????? SignBits:1 %0:_(s8) = G_CONSTANT i8 25 %1:_(s8) = G_CONSTANT i8 225 %2:_(<2 x s8>) = G_BUILD_VECTOR %0:_(s8), %1:_(s8) %3:_(<2 x s8>) = G_BUILD_VECTOR %0:_(s8), %1:_(s8) %4:_(<2 x s8>) = G_UMULH %2, %3 ... --- name: VecPartScalar body: | bb.0: ; CHECK-LABEL: name: @VecPartScalar ; CHECK-NEXT: %0:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %1:_ KnownBits:11111010 SignBits:5 ; CHECK-NEXT: %2:_ KnownBits:???????? SignBits:1 ; CHECK-NEXT: %3:_ KnownBits:00001111 SignBits:4 ; CHECK-NEXT: %4:_ KnownBits:0000???? SignBits:4 ; CHECK-NEXT: %5:_ KnownBits:0000???? SignBits:4 ; CHECK-NEXT: %6:_ KnownBits:0000???? SignBits:4 %0:_(s8) = G_CONSTANT i8 250 %1:_(<2 x s8>) = G_BUILD_VECTOR %0:_(s8), %0:_(s8) %2:_(s8) = G_IMPLICIT_DEF %3:_(s8) = G_CONSTANT i8 15 %4:_(s8) = G_AND %2, %3 %5:_(<2 x s8>) = G_BUILD_VECTOR %4:_(s8), %4:_(s8) %6:_(<2 x s8>) = G_UMULH %1, %5 ...