[X86]: Changing cost for “TRUNCATE v16i32 to v16i8” in SSE4.1 mode.
authorAshutosh Nema <ashu1212@gmail.com>
Fri, 22 Apr 2016 08:34:05 +0000 (08:34 +0000)
committerAshutosh Nema <ashu1212@gmail.com>
Fri, 22 Apr 2016 08:34:05 +0000 (08:34 +0000)
commit468558a06135451065cd279aa4e4f7b19a190567
treea60774a84522086caae93f1980d791ea88b44e75
parent601970296070d04b19aae5cf665b9cde0d55ef08
[X86]: Changing cost for “TRUNCATE v16i32 to v16i8” in SSE4.1 mode.

Summary:
rL256194 transforms truncations between vectors of integers into PACKUS/PACKSS
operations during DAG combine. This generates better code for truncate, so cost
of truncate needs to be changed but looks like it got changed only in SSE2 table
Whereas this change is also applicable for SSE4.1, so the cost of truncate needs
to be changed for that as well. Cost of “TRUNCATE v16i32 to v16i8” & “TRUNCATE
v16i16 to v16i8” should be same in SSE4.1 & SSE2 table. Removing their cost from
SSE4.1, so it will fall back to SSE2.

Reviewers: Simon Pilgrim
llvm-svn: 267123
llvm/lib/Target/X86/X86TargetTransformInfo.cpp
llvm/test/Analysis/CostModel/X86/sse-itoi.ll