[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