================
@@ -222,6 +222,140 @@ define void @store_atomic_vec1_ptr(ptr %x, <1 x ptr> %v) 
nounwind {
   ret void
 }
 
+define void @store_atomic_vec1_bfloat(ptr %x, <1 x bfloat> %v) {
----------------
jofrn wrote:

The hook in x86 isel lowering only handles scalar floating point types.
`virtual AtomicExpansionKind shouldCastAtomicStoreInIR(StoreInst *SI) const {
    if (SI->getValueOperand()->getType()->isFloatingPointTy())
      return AtomicExpansionKind::CastToInteger;
    return AtomicExpansionKind::None;
}`
Therefore, we do need these. I understand what you are saying ; it will be much 
more difficult to modify the base class though. This statement was accurate: 
https://github.com/llvm/llvm-project/pull/197166#discussion_r3226321068

https://github.com/llvm/llvm-project/pull/197166
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to