[llvm] [DAG] isKnownToBeAPowerOfTwo - Power of 2 value is known to be power of 2 after BSWAP/BITREVERSE (PR #182207)

Manuel Dun via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 3 07:06:21 PST 2026


================
@@ -197,40 +197,6 @@ define i1 @pow2_srl_fail1(i32 %x, i32 %y) {
   ret i1 %r
 }
 
-define i1 @pow2_rotl(i32 %x, i32 %y) {
-; CHECK-LABEL: pow2_rotl:
-; CHECK:       # %bb.0:
-; CHECK-NEXT:    movl %esi, %ecx
-; CHECK-NEXT:    movl $1048576, %eax # imm = 0x100000
-; CHECK-NEXT:    # kill: def $cl killed $cl killed $ecx
-; CHECK-NEXT:    roll %cl, %eax
-; CHECK-NEXT:    testl %eax, %edi
-; CHECK-NEXT:    setne %al
-; CHECK-NEXT:    retq
-  %d = call i32 @llvm.fshl.i32(i32 1048576, i32 1048576, i32 %y)
-  %and = and i32 %x, %d
-  %r = icmp eq i32 %and, %d
-  ret i1 %r
-}
-
-define i1 @pow2_rotl_fail0(i32 %x, i32 %y) {
-; CHECK-LABEL: pow2_rotl_fail0:
-; CHECK:       # %bb.0:
-; CHECK-NEXT:    movl %esi, %ecx
-; CHECK-NEXT:    movl $1048576, %eax # imm = 0x100000
-; CHECK-NEXT:    movl $512, %edx # imm = 0x200
-; CHECK-NEXT:    # kill: def $cl killed $cl killed $ecx
-; CHECK-NEXT:    shldl %cl, %eax, %edx
-; CHECK-NEXT:    notl %edi
-; CHECK-NEXT:    testl %edi, %edx
-; CHECK-NEXT:    sete %al
-; CHECK-NEXT:    retq
-  %d = call i32 @llvm.fshl.i32(i32 512, i32 1048576, i32 %y)
-  %and = and i32 %x, %d
-  %r = icmp eq i32 %and, %d
-  ret i1 %r
-}
----------------
manueldun wrote:

sorry, I removed the wrong test, my bad

https://github.com/llvm/llvm-project/pull/182207


More information about the llvm-commits mailing list