@@ -4255,9 +4255,10 @@ void Verifier::visitLoadInst(LoadInst &LI) {
42554255 Check (LI.getOrdering () != AtomicOrdering::Release &&
42564256 LI.getOrdering () != AtomicOrdering::AcquireRelease,
42574257 " Load cannot have Release ordering" , &LI);
4258- Check (ElTy->isIntOrPtrTy () || ElTy->isFloatingPointTy (),
4259- " atomic load operand must have integer, pointer, or floating point "
4260- " type!" ,
4258+ Check (ElTy->isIntOrPtrTy () || ElTy->isFloatingPointTy () ||
4259+ ElTy->isVectorTy (),
4260+ " atomic load operand must have integer, pointer, floating point, "
4261+ " or vector type!" ,
42614262 ElTy, &LI);
42624263 checkAtomicMemAccessSize (ElTy, &LI);
42634264 } else {
@@ -4281,9 +4282,10 @@ void Verifier::visitStoreInst(StoreInst &SI) {
42814282 Check (SI.getOrdering () != AtomicOrdering::Acquire &&
42824283 SI.getOrdering () != AtomicOrdering::AcquireRelease,
42834284 " Store cannot have Acquire ordering" , &SI);
4284- Check (ElTy->isIntOrPtrTy () || ElTy->isFloatingPointTy (),
4285- " atomic store operand must have integer, pointer, or floating point "
4286- " type!" ,
4285+ Check (ElTy->isIntOrPtrTy () || ElTy->isFloatingPointTy () ||
4286+ ElTy->isVectorTy (),
4287+ " atomic store operand must have integer, pointer, floating point, "
4288+ " or vector type!" ,
42874289 ElTy, &SI);
42884290 checkAtomicMemAccessSize (ElTy, &SI);
42894291 } else {
0 commit comments