[llvm] [X86] Match ENDBR immediates in little-endian order (PR #208754)

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 30 20:31:55 PDT 2026


================
@@ -38,50 +38,44 @@ entry:
   store ptr %azx, ptr %azx.addr, align 8
   %0 = load ptr, ptr %azx.addr, align 8
   %1 = load i64, ptr %0, align 8
-  %and = and i64 %1, 321002333478650
+  %and = and i64 %1, 321032129868544
   %2 = load ptr, ptr %azx.addr, align 8
   store i64 %and, ptr %2, align 8
   %3 = load ptr, ptr %azx.addr, align 8
   %4 = load i64, ptr %3, align 8
   ret i64 %4
 }
 
- at bzx = dso_local local_unnamed_addr global i32 -217112837, align 4
-
 ; test for AND32ri
-define dso_local i32 @foo2() local_unnamed_addr #0 {
+define dso_local i32 @foo2(i32 %x) local_unnamed_addr #0 {
 ; CHECK-LABEL: foo2:
 ; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    endbr64
-; CHECK-NEXT:    movl bzx(%rip), %ecx
-; CHECK-NEXT:    addl %ecx, %ecx
-; CHECK-NEXT:    movl $217112837, %eax # imm = 0xCF0E105
+; CHECK-NEXT:    movl $98693132, %eax # imm = 0x5E1F00C
 ; CHECK-NEXT:    notl %eax
-; CHECK-NEXT:    andl %ecx, %eax
+; CHECK-NEXT:    andl %edi, %eax
 ; CHECK-NEXT:    retq
 entry:
-  %0 = load i32, ptr @bzx, align 4
-  %mul = shl nsw i32 %0, 1
-  %and = and i32 %mul, -217112838
+  %and = and i32 %x, -98693133
   ret i32 %and
 }
 
 
- at czx = dso_local global i32 -217112837, align 4
+ at czx = dso_local global i32 -98693134, align 4
----------------
phoebewang wrote:

-81915917, though I don't understand what's it testing for.

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


More information about the llvm-commits mailing list