================
@@ -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:

Not sure what the fallout will be from this but I think the problem here is we 
should not have loaded a scalar in the first place.  Looking at 
`CodeGenTypes::ConvertTypeForMem()` I can see that we're using a different type 
for the memory representation than the normal one, which I think is a mistake.

Changing this so the types are consistent will remove the need for this code 
but I suspect it'll prompt further work elsewhere. My hope is that work sits in 
target specific areas relating to modelling the builtin so seem reasonable. 
Please shout though if it starts to get out of control.

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