================
@@ -5464,6 +5464,15 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo 
&CallInfo,
           Builder.CreateStore(errorValue, swiftErrorTemp);
         }
 
+        // Mfloat8 type is loaded as scalar type, but is treated as single
+        // vector type for other operations. We need to bitcast it to the 
vector
+        // type here.
+        if (auto *EltTy =
----------------
paulwalker-arm wrote:

The underlying storage for `__mfp8` is an FPR and until we decide whether to 
use a dedicated target type, or LLVM gains an opaque 8-bit floating point type 
our only option is to represent it as an i8 vector type.

The reason for using `i8` was for some specific code reuse but as this PR 
showed, that reuse is not total and so I'd rather we just be honest and insert 
the relevant bitcasts when necessary.  This will put us in good stead if we 
decide to go the target type route.

https://github.com/llvm/llvm-project/pull/128019
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to