Nikita Popov 5918f62301
[InstCombine] Infer zext nneg flag (#71534)
Use KnownBits to infer the nneg flag on zext instructions.

Currently we only set nneg when converting sext -> zext, but don't set
it when we have a zext in the first place. If we want to use it in
optimizations, we should make sure the flag inference is consistent.
2023-11-08 09:34:40 +01:00

16 lines
389 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=instcombine -S | FileCheck %s
define i32 @test1(i8 %X) {
; CHECK-LABEL: @test1(
; CHECK-NEXT: [[TMP1:%.*]] = and i8 [[X:%.*]], 8
; CHECK-NEXT: [[Z:%.*]] = zext nneg i8 [[TMP1]] to i32
; CHECK-NEXT: ret i32 [[Z]]
;
%Y = zext i8 %X to i32
%Z = and i32 %Y, 65544
ret i32 %Z
}