[PATCH] [X86] replace vinsertf128 intrinsics with generic shuffles

Sanjay Patel spatel at rotateright.com
Thu Mar 5 12:14:24 PST 2015


Hi chandlerc, craig.topper, qcolombet,

This is my first hack at getting us out of the custom x86 shuffle intrinsic business. 
This was suggested in: http://reviews.llvm.org/D7866

Let's start with the vinsertf128 troika. I'll post a clang sibling patch shortly. 

Please let me know if I've missed anything. I'm basing these changes on:
http://llvm.org/viewvc/llvm-project?view=revision&revision=230860

If anyone can explain why vinsertf128 with a 0 immediate exists, I'm curious...

http://reviews.llvm.org/D8086

Files:
  include/llvm/IR/IntrinsicsX86.td
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/IR/AutoUpgrade.cpp
  test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
  test/CodeGen/X86/avx-intrinsics-x86.ll
  test/CodeGen/X86/avx-vinsertf128.ll
  test/CodeGen/X86/unaligned-32-byte-memops.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8086.21295.patch
Type: text/x-patch
Size: 15400 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150305/fa0b4dbb/attachment.bin>


More information about the llvm-commits mailing list