[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