xref: /llvm-project/llvm/test/CodeGen/X86/pr57554.ll (revision 4e6783f8665252622f7514c63af1dc5b0242dabe)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s
3
4@a = external dso_local local_unnamed_addr global i8, align 1
5
6define void @PR57554() {
7; CHECK-LABEL: PR57554:
8; CHECK:       # %bb.0:
9; CHECK-NEXT:    movb %al, a(%rip)
10; CHECK-NEXT:    retq
11  %.fr13 = freeze i8 undef
12  %i = xor i8 %.fr13, -1
13  %not = sext i8 %i to i32
14  %add = add i32 %not, 2147483647
15  %or = or i32 %add, -1794967296
16  %or4 = or i32 %or, 0
17  %not5 = xor i32 %or4, -1
18  %sub = add nsw i32 0, -1
19  %add7 = add nsw i32 %sub, %not5
20  %add7.fr = freeze i32 %add7
21  %i1 = trunc i32 %add7.fr to i8
22  %conv10 = select i1 false, i8 0, i8 %i1
23  store i8 %conv10, ptr @a, align 1
24  ret void
25}
26