[PATCH] Fix VGATHER* operand constraints
authorMichael Liao <michael.liao@intel.com>
Wed, 5 Jun 2013 18:12:26 +0000 (18:12 +0000)
committerMichael Liao <michael.liao@intel.com>
Wed, 5 Jun 2013 18:12:26 +0000 (18:12 +0000)
commit9a508ef64a194f0f4a3362c55a6e33bec18b7554
tree6bfbf25677071a5f26b10630d09ac4bb6ba67f63
parentbcb1ea8ef62fba49d0e634e1943f829687323314
[PATCH] Fix VGATHER* operand constraints

Add earlyclobber constaints to prevent input register being allocated as
the output register because, according to Intel spec [1], "If any pair
of the index, mask, or destination registers are the same, this
instruction results a UD fault."

---
[1] http://software.intel.com/sites/default/files/319433-014.pdf

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183327 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx2-gather.ll [new file with mode: 0644]