Matt Arsenault
b730c3d28d
Revert "Revert r212640, "Add trunc (select c, a, b) -> select c (trunc a), (trunc b) combine.""
...
Don't try to convert the select condition type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212750 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10 18:21:04 +00:00
NAKAMURA Takumi
5290734b8f
Revert r212640, "Add trunc (select c, a, b) -> select c (trunc a), (trunc b) combine."
...
This caused miscompilation on, at least, x86-64. SExt(i1 cond) confused other optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212708 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10 11:37:28 +00:00
Matt Arsenault
3e8ed89484
Add trunc (select c, a, b) -> select c (trunc a), (trunc b) combine.
...
Do this if the truncate is free and the select is legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212640 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-09 19:12:07 +00:00
Tom Stellard
1f143aa3e9
R600/SI: Lower i64 SELECT by bitcasting to a vector type
...
This allows allows us to replace ISD::EXTRACT_ELEMENT, which is lowered
using shifts, with ISD::EXTRACT_VECTOR_ELT, which is a no-op.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205187 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-31 14:01:55 +00:00
Tom Stellard
83918a2ad2
R600/SI: Custom lower i64 ISD::SELECT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200774 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-04 17:18:40 +00:00