[llvm] [GlobalISel] Add G_ABDS and G_ABDU instructions (PR #118122)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 10:32:05 PST 2024
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/118122 at github.com>
================
@@ -1585,6 +1585,41 @@ void MachineVerifier::verifyPreISelGenericInstruction(const MachineInstr *MI) {
break;
}
+ case TargetOpcode::G_ABDS:
+ case TargetOpcode::G_ABDU: {
+ LLT DstTy = MRI->getType(MI->getOperand(0).getReg());
+ LLT SrcTy = MRI->getType(MI->getOperand(1).getReg());
+ LLT SrcTy2 = MRI->getType(MI->getOperand(2).getReg());
+
+ if (SrcTy.isPointerOrPointerVector() || SrcTy2.isPointerOrPointerVector()) {
+ report("Generic abds/abdu does not support pointers as operands", MI);
+ break;
+ }
+
+ if (DstTy.isPointerOrPointerVector()) {
+ report("Generic abds/abdu does not support pointers as a result", MI);
+ break;
+ }
----------------
arsenm wrote:
Does this not get verified by default? I thought there were separate type and ptype to distinguish them
https://github.com/llvm/llvm-project/pull/118122
More information about the llvm-commits
mailing list