<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>Hi,</div>
<div> </div>
<div>I was going through the X86TTIImpl::getCastInstrCost, and got a doubt on cost </div>
<div>calculation for TRUNCATE instruction in AVX mode.</div>
<div> </div>
<div>In AVX2ConversionTbl & AVXConversionTbl table there is no cost defined for </div>
<div>TRUNCATE v16i32 to v16i8, as a fallback it goes to SSE41ConversionTbl table and there </div>
<div>it finds cost as 30 for this operation. 30 cost for this operation looks very high.</div>
<div> </div>
<div>Wondering why such a high cost kept for this, any pointers to understand this will be helpful.</div>
<div>In few cases this restricts better vectorization opportunities.</div>
<div> </div>
<div>Other observations:</div>
<div>Cost for TRUNCATE v16i32 to v16i8 in SSE2ConversionTbl as 7.</div>
<div>Cost for TRUNCATE v8i32 to v8i8 is 2 in AVX2 and 4 in AVX mode.</div>
<div> </div>
<div>Thanks,</div>
<div>Ashutosh</div>
<div> </div>
<div> </div>
</span></font>
</body>
</html>