//===-- AMDILInstructions.td - AMDIL Instruction definitions --------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //==-----------------------------------------------------------------------===// //===---------------------------------------------------------------------===// // Custom Inserter for Branches and returns, this eventually will be a // seperate pass //===---------------------------------------------------------------------===// let isTerminator = 1 in { def BRANCH : ILFormat; defm BRANCH_COND : BranchConditional; } //===---------------------------------------------------------------------===// // return instructions //===---------------------------------------------------------------------===// let isTerminator = 1, isReturn = 1, isBarrier = 1, hasCtrlDep = 1 in { def RETURN : ILFormat; } //===---------------------------------------------------------------------===// // Flow and Program control Instructions //===---------------------------------------------------------------------===// let isTerminator=1 in { def SWITCH : ILFormat; def CASE : ILFormat; def BREAK : ILFormat; def CONTINUE : ILFormat; def DEFAULT : ILFormat; def ELSE : ILFormat; def ENDSWITCH : ILFormat; def ENDMAIN : ILFormat; def END : ILFormat; def ENDFUNC : ILFormat; def ENDIF : ILFormat; def WHILELOOP : ILFormat; def ENDLOOP : ILFormat; def FUNC : ILFormat; def RETDYN : ILFormat; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm IF_LOGICALNZ : BranchInstr; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm IF_LOGICALZ : BranchInstr; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm BREAK_LOGICALNZ : BranchInstr; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm BREAK_LOGICALZ : BranchInstr; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm CONTINUE_LOGICALNZ : BranchInstr; // This opcode has custom swizzle pattern encoded in Swizzle Encoder defm CONTINUE_LOGICALZ : BranchInstr; defm IFC : BranchInstr2; defm BREAKC : BranchInstr2; defm CONTINUEC : BranchInstr2; } let isTerminator = 1, isBarrier = 1, hasCtrlDep = 1 in { def TRAP : ILFormat; }