AVX512: Add store mask patterns.
original bug:
bash-4.1$ cat t.c
void f2(int);
void f1(int c)
{
static int v = 0; if (v == 0) v = 1; else v = 0; f2(v);
}
bash-4.1$ clang -O2 -S -march=skylake t.c
fatal error: error in backend: Cannot select: t9: ch = store<ST1[@f1.v]> t18:1,
t8, t23, undef:i64 t8: i1 = xor t21, Constant:i1<-1> t21: i1 = truncate t18 t18: i32,ch = load<LD1[@f1.v], zext from i1> t0, t23, undef:i64 t23: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<i1* @f1.v> 0 t22: i64 = TargetGlobalAddress<i1* @f1.v> 0 t5: i64 = undef t7: i1 = Constant<-1> t23: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<i1* @f1.v> 0 t22: i64 = TargetGlobalAddress<i1* @f1.v> 0 t5: i64 = undef
In function: f1