-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Open
Labels
llvm:instcombineCovers the InstCombine, InstSimplify and AggressiveInstCombine passesCovers the InstCombine, InstSimplify and AggressiveInstCombine passesmiscompilation
Description
https://alive2.llvm.org/ce/z/FmBrma
define float @src(float %a) {
%i32 = bitcast float %a to i32
%cmp = icmp slt i32 %i32, 0
call void @llvm.assume(i1 %cmp)
%b = fneg nsz float %a
%c = call float @llvm.fabs(float %b)
ret float %c
}
The fabs is optimized away here, even though fneg nsz
can flip the sign bit of zero.
Metadata
Metadata
Assignees
Labels
llvm:instcombineCovers the InstCombine, InstSimplify and AggressiveInstCombine passesCovers the InstCombine, InstSimplify and AggressiveInstCombine passesmiscompilation