[llvm] [ARM][FastISel]Fix FastISel fail for softfp when set target to armebv… (PR #97422)

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 12 12:33:43 PDT 2024


================
@@ -1991,12 +1991,21 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl<Value*> &Args,
       assert(VA.isRegLoc() && NextVA.isRegLoc() &&
              "We only handle register args!");
 
-      AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD,
-                              TII.get(ARM::VMOVRRD), VA.getLocReg())
-                      .addReg(NextVA.getLocReg(), RegState::Define)
-                      .addReg(Arg));
-      RegArgs.push_back(VA.getLocReg());
-      RegArgs.push_back(NextVA.getLocReg());
+      if (MF->getDataLayout().isBigEndian()) {
----------------
rengolin wrote:

Perhaps set the two inputs depending on endianness and then reuse the previous code without the need to branch would be more compact. 

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


More information about the llvm-commits mailing list