This is an archive of the discontinued LLVM Phabricator instance.

AVX512 : cvtsi2ss/d cvtusi2ss/d implemantation
ClosedPublic

Authored by igorb on Jun 13 2015, 11:59 PM.

Details

Summary

Implemented cvtsi2ss/d cvtusi2ss/d instructions with round control for KNL.
Added intrinsics for cvtsi2ss/d instructions.
Added tests for intrinsics and encoding.

Diff Detail

Repository
rL LLVM

Event Timeline

igorb updated this revision to Diff 27637.Jun 13 2015, 11:59 PM
igorb retitled this revision from to AVX512 : cvtsi2ss/d cvtusi2ss/d implemantation.
igorb updated this object.
igorb edited the test plan for this revision. (Show Details)
igorb added a reviewer: delena.
igorb set the repository for this revision to rL LLVM.
igorb added a subscriber: Unknown Object (MLST).
delena added inline comments.Jun 14 2015, 12:18 AM
lib/Target/X86/X86ISelLowering.h
421 ↗(On Diff #27637)

SINT_TO_FP_RND
UINT_TO_FP_RND

we can use the same name for scalar single/double, vector single/double

igorb updated this revision to Diff 27638.Jun 14 2015, 12:42 AM

new diff uploaded.
changes according to comments.

delena added inline comments.Jun 14 2015, 2:56 AM
lib/Target/X86/X86InstrFragmentsSIMD.td
356 ↗(On Diff #27638)

And here:
def X86SintToFpRnd : SDNode<"X86ISD::SINT_TO_FP_RND", SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisSameAs<0,1>,

SDTCisFP<0>,  SDTCisInt<2>, SDTCisInt<3>]>;

you also should say that SDTCisFP<0>

igorb updated this revision to Diff 27641.Jun 14 2015, 4:37 AM

new diff uploaded.
changes according to comments.

delena edited edge metadata.Jun 14 2015, 5:33 AM

LGTM

lib/Target/X86/X86ISelLowering.h
420 ↗(On Diff #27641)

with rounding mode

This revision was automatically updated to reflect the committed changes.