[llvm] [ARM] Fix calling convention for __fp16 with big-endian (PR #126741)

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 12 03:22:19 PST 2025


================
@@ -15257,10 +15275,19 @@ static SDValue PerformVMOVhrCombine(SDNode *N,
   // fold (VMOVhr (load x)) -> (load (f16*)x)
   if (LoadSDNode *LN0 = dyn_cast<LoadSDNode>(Op0)) {
     if (LN0->hasOneUse() && LN0->isUnindexed() &&
-        LN0->getMemoryVT() == MVT::i16) {
-      SDValue Load =
-          DCI.DAG.getLoad(N->getValueType(0), SDLoc(N), LN0->getChain(),
-                          LN0->getBasePtr(), LN0->getMemOperand());
+        (LN0->getMemoryVT() == MVT::i16 || LN0->getMemoryVT() == MVT::i32)) {
----------------
ostannard wrote:

Done

https://github.com/llvm/llvm-project/pull/126741


More information about the llvm-commits mailing list