llvm-project/llvm/test/Transforms/InstCombine/zext-fold.ll

19 lines
497 B
LLVM

; NOTE: Assertions have been autogenerated by update_test_checks.py
; RUN: opt < %s -instcombine -S | FileCheck %s
; PR1570
define i32 @test2(float %X, float %Y) {
; CHECK-LABEL: @test2(
; CHECK-NEXT: [[TMP3:%.*]] = fcmp ord float %X, %Y
; CHECK-NEXT: [[TOBOOLNOT5:%.*]] = zext i1 [[TMP3]] to i32
; CHECK-NEXT: ret i32 [[TOBOOLNOT5]]
;
%tmp3 = fcmp uno float %X, %Y
%tmp34 = zext i1 %tmp3 to i8
%tmp = xor i8 %tmp34, 1
%toBoolnot5 = zext i8 %tmp to i32
ret i32 %toBoolnot5
}