[GlobalISel] Skip patterns that define complex suboperands twice instead of dying

If we run into a pattern that looks like this:

add
  (complex $x, $y)
  (complex $x, $z)

We should skip the pattern instead of asserting/doing something unpredictable.

This makes us return an Error in that case, and adds a testcase for skipped
patterns.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353586 91177308-0d34-0410-b5e6-96231b3b80d8
2 files changed