[clang] [llvm] [X86] Support EGPR for inline assembly. (PR #92338)
    Shengchen Kan via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri May 24 00:04:11 PDT 2024
    
    
  
================
@@ -58255,6 +58281,22 @@ X86TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
       }
       break;
     }
+  } else if (Constraint.size() == 2 && Constraint[0] == 'j') {
+    switch (Constraint[1]) {
+    default:
+      break;
+    case 'R':
+      if (VT == MVT::i8 || VT == MVT::i1)
+        return std::make_pair(0U, &X86::GR8RegClass);
+      if (VT == MVT::i16)
+        return std::make_pair(0U, &X86::GR16RegClass);
+      if (VT == MVT::i32 || VT == MVT::f32 ||
+          (!VT.isVector() && !Subtarget.is64Bit()))
+        return std::make_pair(0U, &X86::GR32RegClass);
----------------
KanRobert wrote:
The predicate is incorrect.  EGPR is not supported in 32-bit mode.
https://github.com/llvm/llvm-project/pull/92338
    
    
More information about the llvm-commits
mailing list