[3.6 Release] Bugfixes in Masked Load/Store

Hi Hans,

I fixed 2 bugs in the trunk branch related to Masked Load / Store.
Since these intrinsics are generated by Loop Vectorizer on AVX2, a wrong code may be generated. One of the bugs was detected while gcc benchmark testing.
http://llvm.org/bugs/show_bug.cgi?id=22225

I think that the bugs should be fixed in 3.6.
I have 2 options
(1) promote changes of revisions 226791 and 226808 from trunk to 3.6
(2) disable the Masked Load / Store support for AVX2 in 3.6

Please let me know what do you think?

- Elena

We'll be doing another release candidate of 3.6 so I guess we could
potentially squeeze these in (though I wish you'd told me sooner, the
patches are almost 4 weeks old).

Nadav, you're the X86 owner. Do you think r226791 and r226808 are safe to merge?

Thanks,
Hans

Both r226791 and r226808 are safe to merge because they only effect AVX2 masked loads/stores. We should take these changes into the release branch.

Elena, can you run the test suite with AVX2 enabled using 3.6?

Merged in r229555 and r229561, respectively.

Thanks,
Hans