[llvm] c5ec668 - [AArch64][GlobalISel] Add a known-bits build vector test. NFC

David Green via llvm-commits llvm-commits at lists.llvm.org
Sat May 17 04:10:15 PDT 2025


Author: David Green
Date: 2025-05-17T12:10:11+01:00
New Revision: c5ec66880bd3bcab3a93cd1ccf3d6947501b3a9e

URL: https://github.com/llvm/llvm-project/commit/c5ec66880bd3bcab3a93cd1ccf3d6947501b3a9e
DIFF: https://github.com/llvm/llvm-project/commit/c5ec66880bd3bcab3a93cd1ccf3d6947501b3a9e.diff

LOG: [AArch64][GlobalISel] Add a known-bits build vector test. NFC

Added: 
    llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir b/llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir
new file mode 100644
index 0000000000000..3f2bb1eed572b
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/knownbits-buildvector.mir
@@ -0,0 +1,67 @@
+# NOTE: Assertions have been autogenerated by utils/update_givaluetracking_test_checks.py UTC_ARGS: --version 5
+# RUN: llc -mtriple aarch64 -passes="print<gisel-value-tracking>" %s -filetype=null 2>&1 | FileCheck %s
+
+---
+name:            const
+body:             |
+  bb.1:
+  ; CHECK-LABEL: name: @const
+  ; CHECK-NEXT: %0:_ KnownBits:00000011 SignBits:6
+  ; CHECK-NEXT: %1:_ KnownBits:00001010 SignBits:4
+  ; CHECK-NEXT: %2:_ KnownBits:0000?01? SignBits:4
+    %0:_(s8) = G_CONSTANT i8 3
+    %1:_(s8) = G_CONSTANT i8 10
+    %2:_(<2 x s8>) = G_BUILD_VECTOR %0, %1
+...
+---
+name:            const_lane1
+body:             |
+  bb.1:
+  ; CHECK-LABEL: name: @const_lane1
+  ; CHECK-NEXT: %0:_ KnownBits:00000011 SignBits:6
+  ; CHECK-NEXT: %1:_ KnownBits:00001010 SignBits:4
+  ; CHECK-NEXT: %2:_ KnownBits:0000?01? SignBits:4
+  ; CHECK-NEXT: %idx:_ KnownBits:0000000000000000000000000000000000000000000000000000000000000001 SignBits:63
+  ; CHECK-NEXT: %4:_ KnownBits:???????? SignBits:1
+    %0:_(s8) = G_CONSTANT i8 3
+    %1:_(s8) = G_CONSTANT i8 10
+    %2:_(<2 x s8>) = G_BUILD_VECTOR %0, %1
+    %idx:_(s64) = G_CONSTANT i64 1
+    %3:_(s8) = G_EXTRACT_VECTOR_ELT %2, %idx
+...
+---
+name:            sextsignbits
+body:             |
+  bb.1:
+  ; CHECK-LABEL: name: @sextsignbits
+  ; CHECK-NEXT: %0:_ KnownBits:???????? SignBits:1
+  ; CHECK-NEXT: %1:_ KnownBits:???????????????? SignBits:1
+  ; CHECK-NEXT: %2:_ KnownBits:???????????????????????????????? SignBits:25
+  ; CHECK-NEXT: %3:_ KnownBits:???????????????????????????????? SignBits:17
+  ; CHECK-NEXT: %4:_ KnownBits:???????????????????????????????? SignBits:17
+    %0:_(s8) = COPY $b0
+    %1:_(s16) = COPY $h1
+    %2:_(s32) = G_SEXT %0
+    %3:_(s32) = G_SEXT %1
+    %4:_(<2 x s32>) = G_BUILD_VECTOR %2, %3
+...
+---
+name:            sextsignbits_lane1
+body:             |
+  bb.1:
+  ; CHECK-LABEL: name: @sextsignbits_lane1
+  ; CHECK-NEXT: %0:_ KnownBits:???????? SignBits:1
+  ; CHECK-NEXT: %1:_ KnownBits:???????????????? SignBits:1
+  ; CHECK-NEXT: %2:_ KnownBits:???????????????????????????????? SignBits:25
+  ; CHECK-NEXT: %3:_ KnownBits:???????????????????????????????? SignBits:17
+  ; CHECK-NEXT: %4:_ KnownBits:???????????????????????????????? SignBits:17
+  ; CHECK-NEXT: %idx:_ KnownBits:0000000000000000000000000000000000000000000000000000000000000001 SignBits:63
+  ; CHECK-NEXT: %6:_ KnownBits:???????????????????????????????? SignBits:1
+    %0:_(s8) = COPY $b0
+    %1:_(s16) = COPY $h1
+    %2:_(s32) = G_SEXT %0
+    %3:_(s32) = G_SEXT %1
+    %4:_(<2 x s32>) = G_BUILD_VECTOR %2, %3
+    %idx:_(s64) = G_CONSTANT i64 1
+    %5:_(s32) = G_EXTRACT_VECTOR_ELT %4, %idx
+...


        


More information about the llvm-commits mailing list