This is an archive of the discontinued LLVM Phabricator instance.

[Clang][avx512][Builtin] Adding Builtin to clang.
AbandonedPublic

Authored by m_zuckerman on Mar 24 2016, 7:15 AM.

Details

Summary

builtin_ia32_ptestmb512
builtin_ia32_ptestmw512
builtin_ia32_ptestnmb512
builtin_ia32_ptestnmw512
builtin_ia32_storedquhi512_mask
builtin_ia32_storedquqi512_mask
builtin_ia32_rangesd128_round_mask
builtin_ia32_rangess128_round_mask
builtin_ia32_reducesd_mask
builtin_ia32_reducess_mask
builtin_ia32_pslld512_mask
builtin_ia32_psllq512_mask
builtin_ia32_psllv16si_mask
builtin_ia32_psllv8di_mask
builtin_ia32_psrad512_mask
builtin_ia32_psraq512_mask
builtin_ia32_psrav16si_mask
builtin_ia32_psrav8di_mask
builtin_ia32_psrld512_mask
builtin_ia32_psrlq512_mask
builtin_ia32_psrlv16si_mask
builtin_ia32_psrlv8di_mask
builtin_ia32_pternlogd512_mask
builtin_ia32_pternlogd512_maskz
builtin_ia32_pternlogq512_mask
builtin_ia32_pternlogq512_maskz
builtin_ia32_ptestnmd512
builtin_ia32_ptestnmq512
builtin_ia32_punpckhdq512_mask
builtin_ia32_punpckhqdq512_mask
builtin_ia32_punpckldq512_mask
builtin_ia32_punpcklqdq512_mask
builtin_ia32_rcp14sd
builtin_ia32_rcp14ss
builtin_ia32_rndscalesd_round_mask
builtin_ia32_rndscaless_round_mask
builtin_ia32_rsqrt14sd
builtin_ia32_rsqrt14ss
builtin_ia32_scalefpd512_mask
builtin_ia32_scalefps512_mask
builtin_ia32_scalefsd_round_mask
builtin_ia32_scalefss_round_mask
builtin_ia32_shuf_f32x4_mask
builtin_ia32_shuf_f64x2_mask
builtin_ia32_shuf_i32x4_mask
builtin_ia32_shuf_i64x2_mask
builtin_ia32_shufpd512_mask
builtin_ia32_shufps512_mask
builtin_ia32_sqrtsd_round_mask
builtin_ia32_sqrtss_round_mask
builtin_ia32_unpckhpd512_mask
builtin_ia32_unpckhps512_mask
builtin_ia32_unpcklpd512_mask
builtin_ia32_unpcklps512_mask
builtin_ia32_vcvtsd2si64
builtin_ia32_vcvtsd2si32
builtin_ia32_vcvtsd2usi32
builtin_ia32_vcvtsd2usi64
builtin_ia32_vcvtss2si32
builtin_ia32_vcvtss2si64
builtin_ia32_vcvtss2usi32
builtin_ia32_vcvtss2usi64
builtin_ia32_vcvttsd2si32
builtin_ia32_vcvttsd2si64
builtin_ia32_vcvttsd2usi32
builtin_ia32_vcvttsd2usi64
builtin_ia32_vcvttss2si32
builtin_ia32_vcvttss2si64
builtin_ia32_vcvttss2usi32
builtin_ia32_vcvttss2usi64
builtin_ia32_vpermi2vard512_mask
builtin_ia32_vpermi2varpd512_mask
builtin_ia32_vpermi2varps512_mask
builtin_ia32_vpermi2varq512_mask
builtin_ia32_vpermilpd512_mask
builtin_ia32_vpermilps512_mask
builtin_ia32_vpermilvarpd512_mask
builtin_ia32_vpermilvarps512_mask
builtin_ia32_vpermt2vard512_maskz
builtin_ia32_vpermt2varpd512_maskz
builtin_ia32_vpermt2varps512_maskz
builtin_ia32_vpermt2varq512_maskz
builtin_ia32_ptestmb128
builtin_ia32_ptestmb256
builtin_ia32_ptestmw128
builtin_ia32_ptestmw256
builtin_ia32_ptestnmb128
builtin_ia32_ptestnmb256
builtin_ia32_ptestnmw128
builtin_ia32_ptestnmw256
builtin_ia32_storedquhi128_mask
builtin_ia32_storedquhi256_mask
builtin_ia32_storedquqi128_mask
builtin_ia32_storedquqi256_mask
builtin_ia32_pternlogd128_mask
builtin_ia32_pternlogd128_maskz
builtin_ia32_pternlogd256_mask
builtin_ia32_pternlogd256_maskz
builtin_ia32_pternlogq128_mask
builtin_ia32_pternlogq128_maskz
builtin_ia32_pternlogq256_mask
builtin_ia32_pternlogq256_maskz
builtin_ia32_ptestmd128
builtin_ia32_ptestmd256
builtin_ia32_ptestmq128
builtin_ia32_ptestmq256
builtin_ia32_ptestnmd128
builtin_ia32_ptestnmd256
builtin_ia32_ptestnmq128
builtin_ia32_ptestnmq256
builtin_ia32_punpckhdq128_mask
builtin_ia32_punpckhdq256_mask
builtin_ia32_punpckhqdq128_mask
builtin_ia32_punpckhqdq256_mask
builtin_ia32_punpckldq128_mask
builtin_ia32_punpckldq256_mask
builtin_ia32_punpcklqdq128_mask
builtin_ia32_punpcklqdq256_mask
builtin_ia32_rcp14pd128_mask
builtin_ia32_rcp14pd256_mask
builtin_ia32_rcp14ps128_mask
builtin_ia32_rcp14ps256_mask
builtin_ia32_rsqrt14pd128_mask
builtin_ia32_rsqrt14pd256_mask
builtin_ia32_rsqrt14ps128_mask
builtin_ia32_rsqrt14ps256_mask
builtin_ia32_shuf_f32x4_256_mask
builtin_ia32_shuf_f64x2_256_mask
builtin_ia32_shuf_i32x4_256_mask
builtin_ia32_shuf_i64x2_256_mask
builtin_ia32_shufpd128_mask
builtin_ia32_shufpd256_mask
builtin_ia32_shufps128_mask
builtin_ia32_shufps256_mask
builtin_ia32_storeapd128_mask
builtin_ia32_storeapd256_mask
builtin_ia32_storeaps128_mask
builtin_ia32_storeaps256_mask
builtin_ia32_storedqudi128_mask
builtin_ia32_storedqudi256_mask
builtin_ia32_storedqusi128_mask
builtin_ia32_storedqusi256_mask
builtin_ia32_storeupd128_mask
builtin_ia32_storeupd256_mask
builtin_ia32_storeups128_mask
builtin_ia32_storeups256_mask
builtin_ia32_unpckhpd128_mask
builtin_ia32_unpckhpd256_mask
builtin_ia32_unpckhps128_mask
builtin_ia32_unpckhps256_mask
builtin_ia32_unpcklpd128_mask
builtin_ia32_unpcklpd256_mask
builtin_ia32_unpcklps128_mask
builtin_ia32_unpcklps256_mask
builtin_ia32_vcvtph2ps_mask
builtin_ia32_vcvtph2ps256_mask
builtin_ia32_vcvtps2ph_mask
builtin_ia32_vcvtps2ph256_mask
builtin_ia32_vpconflictdi_128_mask
builtin_ia32_vpconflictdi_256_mask
builtin_ia32_vpconflictsi_128_mask
builtin_ia32_vpconflictsi_256_mask
builtin_ia32_vpermilpd_mask
builtin_ia32_vpermilpd256_mask
builtin_ia32_vpermilps_mask
builtin_ia32_vpermilps256_mask
builtin_ia32_vpermilvarpd_mask
builtin_ia32_vpermilvarpd256_mask
builtin_ia32_vpermilvarps_mask
builtin_ia32_vpermilvarps256_mask
builtin_ia32_vplzcntd_128_mask
builtin_ia32_vplzcntd_256_mask
builtin_ia32_vplzcntq_128_mask
builtin_ia32_vplzcntq_256_mask
builtin_ia32_pshufd512_mask
builtin_ia32_pshufd128_mask
builtin_ia32_pshufd256_mask

Diff Detail

Event Timeline

m_zuckerman retitled this revision from to [Clang][avx512][Builtin] Adding Builtin to clang. .
m_zuckerman updated this object.
m_zuckerman added reviewers: AsafBadouh, delena, igorb.
m_zuckerman added a subscriber: llvm-commits.

ping

test/CodeGen/avx512f-builtins.c
1543

Delete extra line

m_zuckerman added inline comments.Mar 28 2016, 10:59 AM
test/CodeGen/avx512bw-builtins.c
745

delete extra line

750

delete extra line

ping

test/CodeGen/avx512dq-builtins.c
745 ↗(On Diff #51552)

add this line

ping

include/clang/Basic/BuiltinsX86.def
1926

Delete this built, will be in another commit

1927–1928

There is no intrinsics use it.

lib/Headers/avx512fintrin.h
3796–3804

Delete this intrinsics . Will be in another commit

AsafBadouh added inline comments.Apr 3 2016, 8:53 AM
include/clang/Basic/BuiltinsX86.def
1758

missing implementation and tests for all "avx512dq"

1784

missing feature flags

1788

missing implementation

1792

missing feature flags

1800

missing feature flags

lib/Headers/avx512fintrin.h
4344

mask|z versions are missing for "roundscale_[round]_{sd|ss}"

4359

(v2df) _mm_setzero_ps()
--->
(
v4sf) _mm_setzero_ps(),

4365

(v2df) _mm_setzero_ps()
--->
(
v4sf) _mm_setzero_ps(),

test/CodeGen/avx512f-builtins.c
2416

It should it be @llvm.x86.avx512.mask.psllv.d

2434

same here, @llvm.x86.avx512.mask.psllv.q

2488

.mask.psrav.d

2512

.mask.psrav.q

2560

// CHECK: @llvm.x86.avx512.mask.psrlv.d

2578

// CHECK: @llvm.x86.avx512.mask.psrlv.q

m_zuckerman added inline comments.Apr 3 2016, 10:03 AM
include/clang/Basic/BuiltinsX86.def
1784

Missing implementation and test

1785

Missing implementation and test

1789

missing implementation

1907–1913

Missing implementation and test

m_zuckerman updated this revision to Diff 52672.Apr 5 2016, 5:01 AM
m_zuckerman marked 11 inline comments as done.
m_zuckerman updated this revision to Diff 52673.Apr 5 2016, 5:14 AM
m_zuckerman marked 5 inline comments as done.
m_zuckerman abandoned this revision.Apr 12 2016, 1:57 AM
m_zuckerman marked an inline comment as done.
m_zuckerman added inline comments.
test/CodeGen/avx512vlbw-builtins.c
1241

delete extra line