================ @@ -38,3 +53,92 @@ def FNMADDD : FourOp<"fnmaddd", 0b110111, 0b1110, DFPRegs>; def FNMSUBS : FourOp<"fnmsubs", 0b110111, 0b1001, FPRegs>; def FNMSUBD : FourOp<"fnmsubd", 0b110111, 0b1010, DFPRegs>; } // Predicates = [HasUA2007] + +// Oracle SPARC Architecture 2011 Instructions +let Predicates = [HasOSA2011] in { +let isBranch = 1, isTerminator = 1, hasDelaySlot = 0 in { +defm CWBCOND : F2_56<"cwb", 0>; +defm CXBCOND : F2_56<"cxb", 1>; +} + +def FPMADDX : FourOp<"fpmaddx", 0b110111, 0b0000, DFPRegs>; +def FPMADDXHI : FourOp<"fpmaddxhi", 0b110111, 0b0100, DFPRegs>; + +def AES_EROUND01 : FourOp<"aes_eround01", 0b011001, 0b0000, DFPRegs>; ---------------- s-barannikov wrote:
Contrary to my comments in other PRs in the stack, I think it is fine to put these instructions in a separate file, as it is a new "class" of instructions (cryptography). I wouldn't bind them to a specific extension name though, something like `SparcInstrInfoCrypto.td` maybe? Not a strong objection (in other PRs too), it is a personal PoV. https://github.com/llvm/llvm-project/pull/138403 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits