[X86][AVX512] Add _mm512_cvtsd_f64 and _mm512_cvtss_f32 intrinsics (PR32305)
Differential Revision: https://reviews.llvm.org/D31155 llvm-svn: 298364
This commit is contained in:
		
							parent
							
								
									8bc2416414
								
							
						
					
					
						commit
						60e924985c
					
				| 
						 | 
					@ -4229,6 +4229,18 @@ _mm512_maskz_cvtpd_epu32 (__mmask8 __U, __m512d __A)
 | 
				
			||||||
                  _MM_FROUND_CUR_DIRECTION);
 | 
					                  _MM_FROUND_CUR_DIRECTION);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static __inline__ double __DEFAULT_FN_ATTRS
 | 
				
			||||||
 | 
					_mm512_cvtsd_f64(__m512d __a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return __a[0];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static __inline__ float __DEFAULT_FN_ATTRS
 | 
				
			||||||
 | 
					_mm512_cvtss_f32(__m512 __a)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  return __a[0];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Unpack and Interleave */
 | 
					/* Unpack and Interleave */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static __inline __m512d __DEFAULT_FN_ATTRS
 | 
					static __inline __m512d __DEFAULT_FN_ATTRS
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7259,6 +7259,18 @@ __m512i test_mm512_maskz_cvtps_epu32 (__mmask16 __U, __m512 __A)
 | 
				
			||||||
  return _mm512_maskz_cvtps_epu32( __U, __A);
 | 
					  return _mm512_maskz_cvtps_epu32( __U, __A);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					double test_mm512_cvtsd_f64(__m512d A) {
 | 
				
			||||||
 | 
					  // CHECK-LABEL: test_mm512_cvtsd_f64
 | 
				
			||||||
 | 
					  // CHECK: extractelement <8 x double> %{{.*}}, i32 0
 | 
				
			||||||
 | 
					  return _mm512_cvtsd_f64(A);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					float test_mm512_cvtss_f32(__m512 A) {
 | 
				
			||||||
 | 
					  // CHECK-LABEL: test_mm512_cvtss_f32
 | 
				
			||||||
 | 
					  // CHECK: extractelement <16 x float> %{{.*}}, i32 0
 | 
				
			||||||
 | 
					  return _mm512_cvtss_f32(A);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__m512d test_mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
 | 
					__m512d test_mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  // CHECK-LABEL: @test_mm512_mask_max_pd 
 | 
					  // CHECK-LABEL: @test_mm512_mask_max_pd 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue