summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2015-10-02 13:06:19 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2015-10-02 13:06:19 +0000
commit45874e67a1efc99ccd77492025906dd561d50e7f (patch)
tree431fdbbfffe7c04e1e2d89bd43bad9c018fbe85c /llvm/lib/Target
parent9ffdfa598628a6cc8f42a973f3db2094324b8b13 (diff)
downloadbcm5719-llvm-45874e67a1efc99ccd77492025906dd561d50e7f.tar.gz
bcm5719-llvm-45874e67a1efc99ccd77492025906dd561d50e7f.zip
Revert: [FastISel][x86] Teach how to select SSE2/AVX bitcasts between 128/256-bit vector types.
r249121 caused a Clang test failure (avx2-buitins.c). Revert r249121 while I keep investigating on the reason why that test failed. llvm-svn: 249124
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86FastISel.cpp24
1 files changed, 0 insertions, 24 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp
index 17704da91c2..5eabd7a756f 100644
--- a/llvm/lib/Target/X86/X86FastISel.cpp
+++ b/llvm/lib/Target/X86/X86FastISel.cpp
@@ -3234,30 +3234,6 @@ X86FastISel::fastSelectInstruction(const Instruction *I) {
updateValueMap(I, Reg);
return true;
}
- case Instruction::BitCast: {
- // Select SSE2/AVX bitcasts between 128/256 bit vector types.
- if (!Subtarget->hasSSE2())
- return false;
-
- EVT SrcVT = TLI.getValueType(DL, I->getOperand(0)->getType());
- EVT DstVT = TLI.getValueType(DL, I->getType());
-
- if (!SrcVT.isSimple() || !DstVT.isSimple())
- return false;
-
- if (!SrcVT.is128BitVector() &&
- !(Subtarget->hasAVX() && SrcVT.is256BitVector()))
- return false;
-
- unsigned Reg = getRegForValue(I->getOperand(0));
- if (Reg == 0)
- return false;
-
- // No instruction is needed for conversion. Reuse the register used by
- // the fist operand.
- updateValueMap(I, Reg);
- return true;
- }
}
return false;
OpenPOWER on IntegriCloud