This is an archive of the discontinued LLVM Phabricator instance.

[CLANG][avx512][BUILTIN] Adding fixupimm{pd|ps|sd|ss} getexp{sd|ss} getmant{sd|ss} kunpck{di|si} loada{pd|ps} loaddqu{di|hi|qi|si} max{sd|ss} min{sd|ss} kmov16 builtins to clang
ClosedPublic

Authored by m_zuckerman on Mar 16 2016, 10:47 AM.

Details

Summary

builtin_ia32_fixupimmpd128_mask
builtin_ia32_fixupimmpd128_maskz
builtin_ia32_fixupimmpd256_mask
builtin_ia32_fixupimmpd256_maskz
builtin_ia32_fixupimmpd512_mask
builtin_ia32_fixupimmpd512_maskz
builtin_ia32_fixupimmps128_mask
builtin_ia32_fixupimmps128_maskz
builtin_ia32_fixupimmps256_mask
builtin_ia32_fixupimmps256_maskz
builtin_ia32_fixupimmps512_mask
builtin_ia32_fixupimmps512_maskz
builtin_ia32_fixupimmsd_mask
builtin_ia32_fixupimmsd_maskz
builtin_ia32_fixupimmss_mask
builtin_ia32_fixupimmss_maskz
builtin_ia32_getexpsd128_mask
builtin_ia32_getexpsd128_round
builtin_ia32_getexpss128_mask
builtin_ia32_getexpss128_round
builtin_ia32_getmantsd_round
builtin_ia32_getmantss_round
builtin_ia32_kunpckdi
builtin_ia32_kunpcksi
builtin_ia32_loadapd128_mask
builtin_ia32_loadapd256_mask
builtin_ia32_loadaps128_mask
builtin_ia32_kmov16
builtin_ia32_loadaps256_mask
builtin_ia32_loaddqudi128_mask
builtin_ia32_loaddqudi256_mask
builtin_ia32_loaddquhi128_mask
builtin_ia32_loaddquhi256_mask
builtin_ia32_loaddquhi512_mask
builtin_ia32_loaddquqi128_mask
builtin_ia32_loaddquqi256_mask
builtin_ia32_loaddquqi512_mask
builtin_ia32_loaddqusi128_mask
builtin_ia32_loaddqusi256_mask
builtin_ia32_loadupd128_mask
builtin_ia32_loadupd256_mask
builtin_ia32_loadups128_mask
builtin_ia32_loadups256_mask
builtin_ia32_maxsd_round
builtin_ia32_maxss_round
builtin_ia32_minsd_round
__builtin_ia32_minss_round

Diff Detail

Repository
rL LLVM

Event Timeline

m_zuckerman retitled this revision from to [CLANG][avx512][BUILTIN] Adding fixupimm{pd|ps|sd|ss} getexp{sd|ss} getmant{sd|ss} kunpck{di|si} loada{pd|ps} loaddqu{di|hi|qi|si} max{sd|ss} min{sd|ss} kmov16 builtins to clang.
m_zuckerman updated this object.
m_zuckerman added reviewers: AsafBadouh, delena, igorb.
m_zuckerman added a subscriber: llvm-commits.
AsafBadouh added inline comments.Mar 17 2016, 7:48 AM
lib/Headers/avx512fintrin.h
54 ↗(On Diff #50837)

move the whole block to line 48, right after the rounding mode macros.

75 ↗(On Diff #50837)

Not sure there is need for these two intrinsics.
you can use _mm_setzero_pd/ps.

78 ↗(On Diff #50837)

return type should be __m128d

lib/Headers/avx512vlbwintrin.h
2968 ↗(On Diff #50837)

can you use _mm_setzero_si128() instead?

3003 ↗(On Diff #50837)

can you use _mm_setzero_si128() instead?

lib/Headers/avx512vlintrin.h
6249 ↗(On Diff #50837)

please use _mm_setzero_si128()

m_zuckerman marked 6 inline comments as done.
AsafBadouh accepted this revision.Mar 28 2016, 4:24 AM
AsafBadouh edited edge metadata.

LGTM

This revision is now accepted and ready to land.Mar 28 2016, 4:24 AM
This revision was automatically updated to reflect the committed changes.