@@ -4990,6 +4990,7 @@ define <4 x i32> @fptosi_2f16_to_4i32(<2 x half> %a) nounwind {
4990
4990
ret <4 x i32 > %ext
4991
4991
}
4992
4992
4993
+ ; PR83402
4993
4994
define <4 x i32 > @fptosi_4f16_to_4i32 (<4 x half > %a ) nounwind {
4994
4995
; AVX-LABEL: fptosi_4f16_to_4i32:
4995
4996
; AVX: # %bb.0:
@@ -5024,16 +5025,14 @@ define <4 x i32> @fptosi_4f16_to_4i32(<4 x half> %a) nounwind {
5024
5025
;
5025
5026
; F16C-LABEL: fptosi_4f16_to_4i32:
5026
5027
; F16C: # %bb.0:
5027
- ; F16C-NEXT: vcvtph2ps %xmm0, %ymm0
5028
+ ; F16C-NEXT: vcvtph2ps %xmm0, %xmm0
5028
5029
; F16C-NEXT: vcvttps2dq %xmm0, %xmm0
5029
- ; F16C-NEXT: vzeroupper
5030
5030
; F16C-NEXT: retq
5031
5031
;
5032
5032
; AVX512-LABEL: fptosi_4f16_to_4i32:
5033
5033
; AVX512: # %bb.0:
5034
- ; AVX512-NEXT: vcvtph2ps %xmm0, %ymm0
5034
+ ; AVX512-NEXT: vcvtph2ps %xmm0, %xmm0
5035
5035
; AVX512-NEXT: vcvttps2dq %xmm0, %xmm0
5036
- ; AVX512-NEXT: vzeroupper
5037
5036
; AVX512-NEXT: retq
5038
5037
%cvt = fptosi <4 x half > %a to <4 x i32 >
5039
5038
ret <4 x i32 > %cvt
@@ -5213,13 +5212,12 @@ define <4 x i32> @fptoui_4f16_to_4i32(<4 x half> %a) nounwind {
5213
5212
;
5214
5213
; F16C-LABEL: fptoui_4f16_to_4i32:
5215
5214
; F16C: # %bb.0:
5216
- ; F16C-NEXT: vcvtph2ps %xmm0, %ymm0
5217
- ; F16C-NEXT: vcvttps2dq %ymm0 , %ymm1
5218
- ; F16C-NEXT: vsubps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0 , %ymm0
5219
- ; F16C-NEXT: vcvttps2dq %ymm0 , %ymm0
5215
+ ; F16C-NEXT: vcvtph2ps %xmm0, %xmm0
5216
+ ; F16C-NEXT: vcvttps2dq %xmm0 , %xmm1
5217
+ ; F16C-NEXT: vsubps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0 , %xmm0
5218
+ ; F16C-NEXT: vcvttps2dq %xmm0 , %xmm0
5220
5219
; F16C-NEXT: vorps %xmm0, %xmm1, %xmm0
5221
5220
; F16C-NEXT: vblendvps %xmm1, %xmm0, %xmm1, %xmm0
5222
- ; F16C-NEXT: vzeroupper
5223
5221
; F16C-NEXT: retq
5224
5222
;
5225
5223
; AVX512F-LABEL: fptoui_4f16_to_4i32:
@@ -5232,9 +5230,8 @@ define <4 x i32> @fptoui_4f16_to_4i32(<4 x half> %a) nounwind {
5232
5230
;
5233
5231
; AVX512-FASTLANE-LABEL: fptoui_4f16_to_4i32:
5234
5232
; AVX512-FASTLANE: # %bb.0:
5235
- ; AVX512-FASTLANE-NEXT: vcvtph2ps %xmm0, %ymm0
5233
+ ; AVX512-FASTLANE-NEXT: vcvtph2ps %xmm0, %xmm0
5236
5234
; AVX512-FASTLANE-NEXT: vcvttps2udq %xmm0, %xmm0
5237
- ; AVX512-FASTLANE-NEXT: vzeroupper
5238
5235
; AVX512-FASTLANE-NEXT: retq
5239
5236
%cvt = fptoui <4 x half > %a to <4 x i32 >
5240
5237
ret <4 x i32 > %cvt
0 commit comments