[llvm] [X86] Add crash test coverage for #193475 (PR #193690)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 01:37:44 PDT 2026


https://github.com/RKSimon created https://github.com/llvm/llvm-project/pull/193690

None

>From 3589ec0053689c2f59f867b7cfe5729c0354c767 Mon Sep 17 00:00:00 2001
From: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: Thu, 23 Apr 2026 09:36:11 +0100
Subject: [PATCH] [X86] Add crash test coverage for #193475

---
 llvm/test/CodeGen/X86/pr193475.ll | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 llvm/test/CodeGen/X86/pr193475.ll

diff --git a/llvm/test/CodeGen/X86/pr193475.ll b/llvm/test/CodeGen/X86/pr193475.ll
new file mode 100644
index 0000000000000..84a37dbda8ab8
--- /dev/null
+++ b/llvm/test/CodeGen/X86/pr193475.ll
@@ -0,0 +1,32 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
+; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
+
+ at ak = external global i16
+ at s = external global i16
+
+define i32 @main() {
+; CHECK-LABEL: main:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    movq ak at GOTPCREL(%rip), %rax
+; CHECK-NEXT:    movq s at GOTPCREL(%rip), %rcx
+; CHECK-NEXT:    movzwl (%rcx), %ecx
+; CHECK-NEXT:    movzwl (%rax), %eax
+; CHECK-NEXT:    movswl %ax, %ecx
+; CHECK-NEXT:    orl $65534, %eax # imm = 0xFFFE
+; CHECK-NEXT:    xorl %ecx, %eax
+; CHECK-NEXT:    retq
+  %i = load i16, ptr @ak, align 2
+  %i1 = load volatile i16, ptr @s, align 2
+  %i2 = load i16, ptr @ak, align 2
+  %i3 = xor i16 %i2, -1
+  %conv4211404 = zext i16 %i3 to i64
+  %xor422 = xor i64 1, %conv4211404
+  %conv3591399 = zext i16 %i to i64
+  %or424 = or i64 %xor422, %conv3591399
+  %conv333 = sext i16 %i to i32
+  %conv434 = zext i16 %i2 to i32
+  %i4 = trunc i64 %or424 to i32
+  %or436 = or i32 %conv434, %i4
+  %conv453 = xor i32 %conv333, %or436
+  ret i32 %conv453
+}



More information about the llvm-commits mailing list