diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2015-10-02 13:06:19 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2015-10-02 13:06:19 +0000 |
commit | 45874e67a1efc99ccd77492025906dd561d50e7f (patch) | |
tree | 431fdbbfffe7c04e1e2d89bd43bad9c018fbe85c /llvm/lib/Target/X86/X86FastISel.cpp | |
parent | 9ffdfa598628a6cc8f42a973f3db2094324b8b13 (diff) | |
download | bcm5719-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/X86/X86FastISel.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 24 |
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; |