@@ -4614,7 +4614,7 @@ define i1 @intersect_fmf_4(double %a, double %b) {
46144614define i1 @clang_builtin_isnormal_inf_check (half %x ) {
46154615; CHECK-LABEL: @clang_builtin_isnormal_inf_check(
46164616; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4617- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4617+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
46184618; CHECK-NEXT: ret i1 [[AND]]
46194619;
46204620 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4627,7 +4627,7 @@ define i1 @clang_builtin_isnormal_inf_check(half %x) {
46274627define <2 x i1 > @clang_builtin_isnormal_inf_check_vector (<2 x half > %x ) {
46284628; CHECK-LABEL: @clang_builtin_isnormal_inf_check_vector(
46294629; CHECK-NEXT: [[FABS_X:%.*]] = call <2 x half> @llvm.fabs.v2f16(<2 x half> [[X:%.*]])
4630- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge <2 x half> [[FABS_X]], <half 0xH7C00, half 0xH7C00>
4630+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq <2 x half> [[FABS_X]], <half 0xH7C00, half 0xH7C00>
46314631; CHECK-NEXT: ret <2 x i1> [[AND]]
46324632;
46334633 %fabs.x = call <2 x half > @llvm.fabs.v2f16 (<2 x half > %x )
@@ -4640,7 +4640,7 @@ define <2 x i1> @clang_builtin_isnormal_inf_check_vector(<2 x half> %x) {
46404640define i1 @clang_builtin_isnormal_inf_check_commute (half %x ) {
46414641; CHECK-LABEL: @clang_builtin_isnormal_inf_check_commute(
46424642; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4643- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4643+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
46444644; CHECK-NEXT: ret i1 [[AND]]
46454645;
46464646 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4653,7 +4653,7 @@ define i1 @clang_builtin_isnormal_inf_check_commute(half %x) {
46534653define i1 @clang_builtin_isnormal_inf_check_commute_nsz_rhs (half %x ) {
46544654; CHECK-LABEL: @clang_builtin_isnormal_inf_check_commute_nsz_rhs(
46554655; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4656- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4656+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
46574657; CHECK-NEXT: ret i1 [[AND]]
46584658;
46594659 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4666,7 +4666,7 @@ define i1 @clang_builtin_isnormal_inf_check_commute_nsz_rhs(half %x) {
46664666define i1 @clang_builtin_isnormal_inf_check_commute_nsz_lhs (half %x ) {
46674667; CHECK-LABEL: @clang_builtin_isnormal_inf_check_commute_nsz_lhs(
46684668; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4669- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4669+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
46704670; CHECK-NEXT: ret i1 [[AND]]
46714671;
46724672 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4690,7 +4690,7 @@ define i1 @clang_builtin_isnormal_inf_check_commute_nofabs_ueq(half %x) {
46904690define i1 @clang_builtin_isnormal_inf_check_commute_nsz (half %x ) {
46914691; CHECK-LABEL: @clang_builtin_isnormal_inf_check_commute_nsz(
46924692; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4693- ; CHECK-NEXT: [[AND:%.*]] = fcmp nsz oge half [[FABS_X]], 0xH7C00
4693+ ; CHECK-NEXT: [[AND:%.*]] = fcmp nsz oeq half [[FABS_X]], 0xH7C00
46944694; CHECK-NEXT: ret i1 [[AND]]
46954695;
46964696 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4716,7 +4716,7 @@ define i1 @clang_builtin_isnormal_inf_check_ugt(half %x) {
47164716define i1 @clang_builtin_isnormal_inf_check_ult (half %x ) {
47174717; CHECK-LABEL: @clang_builtin_isnormal_inf_check_ult(
47184718; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4719- ; CHECK-NEXT: [[AND:%.*]] = fcmp olt half [[FABS_X]], 0xH7C00
4719+ ; CHECK-NEXT: [[AND:%.*]] = fcmp one half [[FABS_X]], 0xH7C00
47204720; CHECK-NEXT: ret i1 [[AND]]
47214721;
47224722 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4820,8 +4820,8 @@ define i1 @clang_builtin_isnormal_inf_check_olt(half %x) {
48204820
48214821define i1 @clang_builtin_isnormal_inf_check_ole (half %x ) {
48224822; CHECK-LABEL: @clang_builtin_isnormal_inf_check_ole(
4823- ; CHECK-NEXT: [[AND :%.*]] = fcmp ord half [[X:%.*]], 0xH0000
4824- ; CHECK-NEXT: ret i1 [[AND ]]
4823+ ; CHECK-NEXT: [[CMP :%.*]] = fcmp ord half [[X:%.*]], 0xH0000
4824+ ; CHECK-NEXT: ret i1 [[CMP ]]
48254825;
48264826 %fabs.x = call half @llvm.fabs.f16 (half %x )
48274827 %ord = fcmp ord half %fabs.x , 0 .0
@@ -4846,7 +4846,7 @@ define i1 @clang_builtin_isnormal_inf_check_oeq(half %x) {
48464846define i1 @clang_builtin_isnormal_inf_check_unnececcary_fabs (half %x ) {
48474847; CHECK-LABEL: @clang_builtin_isnormal_inf_check_unnececcary_fabs(
48484848; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4849- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4849+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
48504850; CHECK-NEXT: ret i1 [[AND]]
48514851;
48524852 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4871,7 +4871,7 @@ define i1 @clang_builtin_isnormal_inf_check_not_ord(half %x) {
48714871
48724872define i1 @clang_builtin_isnormal_inf_check_missing_fabs (half %x ) {
48734873; CHECK-LABEL: @clang_builtin_isnormal_inf_check_missing_fabs(
4874- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[X:%.*]], 0xH7C00
4874+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[X:%.*]], 0xH7C00
48754875; CHECK-NEXT: ret i1 [[AND]]
48764876;
48774877 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4912,7 +4912,7 @@ define i1 @clang_builtin_isnormal_inf_check_not_inf(half %x) {
49124912define i1 @clang_builtin_isnormal_inf_check_nsz_lhs (half %x ) {
49134913; CHECK-LABEL: @clang_builtin_isnormal_inf_check_nsz_lhs(
49144914; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4915- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4915+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
49164916; CHECK-NEXT: ret i1 [[AND]]
49174917;
49184918 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4925,7 +4925,7 @@ define i1 @clang_builtin_isnormal_inf_check_nsz_lhs(half %x) {
49254925define i1 @clang_builtin_isnormal_inf_check_nsz_rhs (half %x ) {
49264926; CHECK-LABEL: @clang_builtin_isnormal_inf_check_nsz_rhs(
49274927; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4928- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4928+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
49294929; CHECK-NEXT: ret i1 [[AND]]
49304930;
49314931 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4938,7 +4938,7 @@ define i1 @clang_builtin_isnormal_inf_check_nsz_rhs(half %x) {
49384938define i1 @clang_builtin_isnormal_inf_check_nsz (half %x ) {
49394939; CHECK-LABEL: @clang_builtin_isnormal_inf_check_nsz(
49404940; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4941- ; CHECK-NEXT: [[AND:%.*]] = fcmp nsz oge half [[FABS_X]], 0xH7C00
4941+ ; CHECK-NEXT: [[AND:%.*]] = fcmp nsz oeq half [[FABS_X]], 0xH7C00
49424942; CHECK-NEXT: ret i1 [[AND]]
49434943;
49444944 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4950,7 +4950,7 @@ define i1 @clang_builtin_isnormal_inf_check_nsz(half %x) {
49504950
49514951define i1 @clang_builtin_isnormal_inf_check_fneg (half %x ) {
49524952; CHECK-LABEL: @clang_builtin_isnormal_inf_check_fneg(
4953- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[X:%.*]], 0xH7C00
4953+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[X:%.*]], 0xH7C00
49544954; CHECK-NEXT: ret i1 [[AND]]
49554955;
49564956 %fneg.x = fneg half %x
@@ -4963,7 +4963,7 @@ define i1 @clang_builtin_isnormal_inf_check_fneg(half %x) {
49634963define i1 @clang_builtin_isnormal_inf_check_copysign (half %x , half %y ) {
49644964; CHECK-LABEL: @clang_builtin_isnormal_inf_check_copysign(
49654965; CHECK-NEXT: [[COPYSIGN_X:%.*]] = call half @llvm.copysign.f16(half [[X:%.*]], half [[Y:%.*]])
4966- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[COPYSIGN_X]], 0xH7C00
4966+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[COPYSIGN_X]], 0xH7C00
49674967; CHECK-NEXT: ret i1 [[AND]]
49684968;
49694969 %copysign.x = call half @llvm.copysign.f16 (half %x , half %y )
@@ -4976,7 +4976,7 @@ define i1 @clang_builtin_isnormal_inf_check_copysign(half %x, half %y) {
49764976define i1 @isnormal_logical_select_0 (half %x ) {
49774977; CHECK-LABEL: @isnormal_logical_select_0(
49784978; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4979- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4979+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
49804980; CHECK-NEXT: ret i1 [[AND]]
49814981;
49824982 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -4989,7 +4989,7 @@ define i1 @isnormal_logical_select_0(half %x) {
49894989define i1 @isnormal_logical_select_1 (half %x ) {
49904990; CHECK-LABEL: @isnormal_logical_select_1(
49914991; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
4992- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
4992+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
49934993; CHECK-NEXT: ret i1 [[AND]]
49944994;
49954995 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -5002,7 +5002,7 @@ define i1 @isnormal_logical_select_1(half %x) {
50025002define i1 @isnormal_logical_select_0_fmf0 (half %x ) {
50035003; CHECK-LABEL: @isnormal_logical_select_0_fmf0(
50045004; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
5005- ; CHECK-NEXT: [[AND:%.*]] = fcmp reassoc nsz arcp oge half [[FABS_X]], 0xH7C00
5005+ ; CHECK-NEXT: [[AND:%.*]] = fcmp reassoc nsz arcp oeq half [[FABS_X]], 0xH7C00
50065006; CHECK-NEXT: ret i1 [[AND]]
50075007;
50085008 %fabs.x = call half @llvm.fabs.f16 (half %x )
@@ -5015,7 +5015,7 @@ define i1 @isnormal_logical_select_0_fmf0(half %x) {
50155015define i1 @isnormal_logical_select_0_fmf1 (half %x ) {
50165016; CHECK-LABEL: @isnormal_logical_select_0_fmf1(
50175017; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])
5018- ; CHECK-NEXT: [[AND:%.*]] = fcmp oge half [[FABS_X]], 0xH7C00
5018+ ; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[FABS_X]], 0xH7C00
50195019; CHECK-NEXT: ret i1 [[AND]]
50205020;
50215021 %fabs.x = call half @llvm.fabs.f16 (half %x )
0 commit comments