diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-07-25 23:05:25 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-07-25 23:05:25 +0000 |
commit | 6a32adc4e5e9aae2c6d5d2192ae0c0a01858d8c2 (patch) | |
tree | 314f2ab65e0bb44b895fb0945b16a794cccc1f2d /lib/Target/X86/X86InstrFormats.td | |
parent | 233fa392453158a41c567b2e445f503d3553b2af (diff) | |
download | external_llvm-6a32adc4e5e9aae2c6d5d2192ae0c0a01858d8c2.zip external_llvm-6a32adc4e5e9aae2c6d5d2192ae0c0a01858d8c2.tar.gz external_llvm-6a32adc4e5e9aae2c6d5d2192ae0c0a01858d8c2.tar.bz2 |
- Handle special scalar_to_vector case: splats. Using a native 128-bit
shuffle before inserting on a 256-bit vector.
- Add AVX versions of movd/movq instructions
- Introduce a few COPY patterns to match insert_subvector instructions.
This turns a trivial insert_subvector instruction into a register copy,
coalescing the xmm into a ymm and avoid emiting on more instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrFormats.td')
-rw-r--r-- | lib/Target/X86/X86InstrFormats.td | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrFormats.td b/lib/Target/X86/X86InstrFormats.td index 6d89bcc..34d2676 100644 --- a/lib/Target/X86/X86InstrFormats.td +++ b/lib/Target/X86/X86InstrFormats.td @@ -501,6 +501,9 @@ class RSDI<bits<8> o, Format F, dag outs, dag ins, string asm, class RPDI<bits<8> o, Format F, dag outs, dag ins, string asm, list<dag> pattern> : PDI<o, F, outs, ins, asm, pattern>, REX_W; +class VRPDI<bits<8> o, Format F, dag outs, dag ins, string asm, + list<dag> pattern> + : VPDI<o, F, outs, ins, asm, pattern>, VEX_W; // MMX Instruction templates // |