@@ -4255,9 +4255,10 @@ void Verifier::visitLoadInst(LoadInst &LI) {
4255
4255
Check (LI.getOrdering () != AtomicOrdering::Release &&
4256
4256
LI.getOrdering () != AtomicOrdering::AcquireRelease,
4257
4257
" 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!" ,
4261
4262
ElTy, &LI);
4262
4263
checkAtomicMemAccessSize (ElTy, &LI);
4263
4264
} else {
@@ -4281,9 +4282,10 @@ void Verifier::visitStoreInst(StoreInst &SI) {
4281
4282
Check (SI.getOrdering () != AtomicOrdering::Acquire &&
4282
4283
SI.getOrdering () != AtomicOrdering::AcquireRelease,
4283
4284
" 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!" ,
4287
4289
ElTy, &SI);
4288
4290
checkAtomicMemAccessSize (ElTy, &SI);
4289
4291
} else {
0 commit comments