[llvm-branch-commits] [llvm] [SPARC][IAS] Add definitions for UA 2005 instructions (PR #138400)
Sergei Barannikov via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Sun May 4 04:37:42 PDT 2025
================
@@ -0,0 +1,36 @@
+//=== SparcInstrUAOSA.td - UltraSPARC/Oracle SPARC Architecture extensions ===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains instruction formats, definitions and patterns needed for
+// UA 2005 instructions on SPARC.
+//===----------------------------------------------------------------------===//
+
+// UltraSPARC Architecture 2005 Instructions
+let Predicates = [HasUA2005] in {
+let hasSideEffects = 1 in
+def ALLCLEAN : InstSP<(outs), (ins), "allclean", []> {
----------------
s-barannikov wrote:
Sparc instructions have well-defined formats, you should rarely need to use `InstSP` as the base class, if ever.
`0b00010110001` should be broken down into `fcn=0b00010` (or decimal equivalent) and `op3=0b110001`. `F3_1` looks the most appropriate base class of all existing classes, but it may also make sense to introduce a new class for this kind of instructions.
https://github.com/llvm/llvm-project/pull/138400
More information about the llvm-branch-commits
mailing list