@@ -1094,52 +1094,11 @@ define <4 x i1> @isnan_v4bf16(<4 x bfloat> %x) nounwind {
1094
1094
ret <4 x i1 > %1
1095
1095
}
1096
1096
1097
- define i1 @isnan_bf16_strictfp (bfloat %x ) strictfp nounwind {
1098
- ; GFX7CHECK-LABEL: isnan_bf16_strictfp:
1099
- ; GFX7CHECK: ; %bb.0:
1100
- ; GFX7CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1101
- ; GFX7CHECK-NEXT: v_bfe_u32 v0, v0, 16, 15
1102
- ; GFX7CHECK-NEXT: s_movk_i32 s4, 0x7f80
1103
- ; GFX7CHECK-NEXT: v_cmp_lt_i32_e32 vcc, s4, v0
1104
- ; GFX7CHECK-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc
1105
- ; GFX7CHECK-NEXT: s_setpc_b64 s[30:31]
1106
- ;
1107
- ; GFX8CHECK-LABEL: isnan_bf16_strictfp:
1108
- ; GFX8CHECK: ; %bb.0:
1109
- ; GFX8CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1110
- ; GFX8CHECK-NEXT: v_and_b32_e32 v0, 0x7fff, v0
1111
- ; GFX8CHECK-NEXT: s_movk_i32 s4, 0x7f80
1112
- ; GFX8CHECK-NEXT: v_cmp_lt_i16_e32 vcc, s4, v0
1113
- ; GFX8CHECK-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc
1114
- ; GFX8CHECK-NEXT: s_setpc_b64 s[30:31]
1115
- ;
1116
- ; GFX9CHECK-LABEL: isnan_bf16_strictfp:
1117
- ; GFX9CHECK: ; %bb.0:
1118
- ; GFX9CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1119
- ; GFX9CHECK-NEXT: v_and_b32_e32 v0, 0x7fff, v0
1120
- ; GFX9CHECK-NEXT: s_movk_i32 s4, 0x7f80
1121
- ; GFX9CHECK-NEXT: v_cmp_lt_i16_e32 vcc, s4, v0
1122
- ; GFX9CHECK-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc
1123
- ; GFX9CHECK-NEXT: s_setpc_b64 s[30:31]
1124
- ;
1125
- ; GFX10CHECK-LABEL: isnan_bf16_strictfp:
1126
- ; GFX10CHECK: ; %bb.0:
1127
- ; GFX10CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1128
- ; GFX10CHECK-NEXT: v_and_b32_e32 v0, 0x7fff, v0
1129
- ; GFX10CHECK-NEXT: v_cmp_lt_i16_e32 vcc_lo, 0x7f80, v0
1130
- ; GFX10CHECK-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc_lo
1131
- ; GFX10CHECK-NEXT: s_setpc_b64 s[30:31]
1132
- ;
1133
- ; GFX11CHECK-LABEL: isnan_bf16_strictfp:
1134
- ; GFX11CHECK: ; %bb.0:
1135
- ; GFX11CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1136
- ; GFX11CHECK-NEXT: v_and_b32_e32 v0, 0x7fff, v0
1137
- ; GFX11CHECK-NEXT: v_cmp_lt_i16_e32 vcc_lo, 0x7f80, v0
1138
- ; GFX11CHECK-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc_lo
1139
- ; GFX11CHECK-NEXT: s_setpc_b64 s[30:31]
1140
- %1 = call i1 @llvm.is.fpclass.bf16 (bfloat %x , i32 3 ) strictfp ; nan
1141
- ret i1 %1
1142
- }
1097
+ ; FIXME: Broken for gfx6/7
1098
+ ; define i1 @isnan_bf16_strictfp(bfloat %x) strictfp nounwind {
1099
+ ; %1 = call i1 @llvm.is.fpclass.bf16(bfloat %x, i32 3) strictfp ; nan
1100
+ ; ret i1 %1
1101
+ ; }
1143
1102
1144
1103
define i1 @isinf_bf16 (bfloat %x ) nounwind {
1145
1104
; GFX7CHECK-LABEL: isinf_bf16:
0 commit comments