//===-- AMDILMultiClass.td - AMDIL Multiclass defs ---*- tablegen -*-------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //==-----------------------------------------------------------------------===// // Multiclass that handles branch instructions multiclass BranchConditional { def _i32 : ILFormat; def _f32 : ILFormat; } // Multiclass that handles memory store operations multiclass GTRUNCSTORE { def _i32i8 : OneInOneOut; def _i32i16 : OneInOneOut; } // Multiclass that handles memory store operations multiclass LTRUNCSTORE { def _i32i8 : OneInOneOut; def _i32i16 : OneInOneOut; } // Multiclass that handles memory store operations multiclass PTRUNCSTORE { def _i32i8 : OneInOneOut; def _i32i16 : OneInOneOut; } // Multiclass that handles memory store operations multiclass RTRUNCSTORE { def _i32i8 : OneInOneOut; def _i32i16 : OneInOneOut; } // Multiclass that handles memory store operations multiclass STORE { def _i32 : OneInOneOut; def _f32 : OneInOneOut; } // Multiclass that handles load operations multiclass LOAD { def _i32 : OneInOneOut; def _f32 : OneInOneOut; } // Only scalar types should generate flow control multiclass BranchInstr { def _i32 : UnaryOpNoRet; def _f32 : UnaryOpNoRet; } // Only scalar types should generate flow control multiclass BranchInstr2 { def _i32 : BinaryOpNoRet; def _f32 : BinaryOpNoRet; }