[clang] [llvm] Add support for flag output operand "=@cc" for SystemZ. (PR #125970)
Ulrich Weigand via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 5 19:57:53 PST 2025
================
@@ -2563,9 +2563,15 @@ EmitAsmStores(CodeGenFunction &CGF, const AsmStmt &S,
if ((i < ResultRegIsFlagReg.size()) && ResultRegIsFlagReg[i]) {
// Target must guarantee the Value `Tmp` here is lowered to a boolean
// value.
- llvm::Constant *Two = llvm::ConstantInt::get(Tmp->getType(), 2);
+ unsigned CCUpperBound = 2;
+ if (CGF.getTarget().getTriple().getArch() == llvm::Triple::systemz) {
----------------
uweigand wrote:
Well, SystemZ simply is different here - our "flags" value is in fact a 2-bit value, not a 1-bit value. Do you have any suggestions how this distinction could be abstracted in a cleaner way?
https://github.com/llvm/llvm-project/pull/125970
More information about the cfe-commits
mailing list