]> granicus.if.org Git - llvm/commit
[X86] Remove scalar logical op alias instructions. Just use COPY_FROM/TO_REGCLASS...
authorCraig Topper <craig.topper@gmail.com>
Tue, 6 Dec 2016 04:58:39 +0000 (04:58 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 6 Dec 2016 04:58:39 +0000 (04:58 +0000)
commit25dd36e1c9ac57de01ba0acab647b1d03ce2417c
tree8fe7792fe5e6fd91b6fd8fc3d7f4600e318801b2
parentdfe568d76602287abdf7253d64b5c4d8b61132e1
[X86] Remove scalar logical op alias instructions. Just use COPY_FROM/TO_REGCLASS and the normal packed instructions instead

Summary:
This patch removes the scalar logical operation alias instructions. We can just use reg class copies and use the normal packed instructions instead. This removes the need for putting these instructions in the execution domain fixing tables as was done recently.

I removed the loadf64_128 and loadf32_128 patterns as DAG combine creates a narrower load for (extractelt (loadv4f32)) before we ever get to isel.

I plan to add similar patterns for AVX512DQ in a future commit to allow use of the larger register class when available.

Reviewers: spatel, delena, zvi, RKSimon

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D27401

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288771 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FastISel.cpp
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/sqrt-fastmath-mir.ll