From 984ad0788c54386801b185740b973c446e55d3b9 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 6 Jun 2012 20:27:47 -0400 Subject: radeon/llvm: Remove unused AMDIL TableGen definitons --- src/gallium/drivers/radeon/AMDILMultiClass.td | 1345 ------------------------- 1 file changed, 1345 deletions(-) (limited to 'src/gallium/drivers/radeon/AMDILMultiClass.td') diff --git a/src/gallium/drivers/radeon/AMDILMultiClass.td b/src/gallium/drivers/radeon/AMDILMultiClass.td index d6828178ba7..12e92f571e6 100644 --- a/src/gallium/drivers/radeon/AMDILMultiClass.td +++ b/src/gallium/drivers/radeon/AMDILMultiClass.td @@ -8,14 +8,6 @@ //==-----------------------------------------------------------------------===// // Multiclass that handles branch instructions multiclass BranchConditional { - def _i8 : ILFormat; - def _i16 : ILFormat; def _i32 : ILFormat { (ins brtarget:$target, GPRF32:$src0), "; f32 Pseudo branch instruction", [(Op bb:$target, GPRF32:$src0)]>; - def _i64 : ILFormat; - def _f64 : ILFormat; -} -// Multiclass that handles compare instructions -// When a definition is added here, a corrosponding defition -// needs to be added at: -// AMDILISelLowering.cpp@EmitInstrWithCustomInserter -multiclass Compare { - def _i8 : ILFormat; - def _i16 : ILFormat; - def _i32 : ILFormat; - def _i64 : ILFormat; - def _f32 : ILFormat; - def _f64 : ILFormat; - def _v2i8 : ILFormat; - def _v2i16 : ILFormat; - def _v2i32 : ILFormat; - def _v2i64 : ILFormat; - def _v2f32 : ILFormat; - def _v2f64 : ILFormat; - def _v4i8 : ILFormat; - def _v4i16 : ILFormat; - def _v4i32 : ILFormat; - def _v4f32 : ILFormat; -} - -// Multiclass that handles constant values -multiclass ILConstant { - def _i8 : ILFormat; - - // def _v2i8 : ILFormat; - - //def _v4i8 : ILFormat; - - def _i16 : ILFormat; - - // def _v2i16 : ILFormat; - - // def _v4i16 : ILFormat; - - def _i32 : ILFormat; - - // def _v2i32 : ILFormat; - - // def _v4i32 : ILFormat; - - def _i64 : ILFormat; - - // def _v2i64 : ILFormat; - - def _f32 : ILFormat; - - // def _v2f32 : ILFormat; - - // def _v4f32 : ILFormat; - - def _f64 : ILFormat; - - // def _v2f64 : ILFormat; - } // Multiclass that handles memory store operations multiclass GTRUNCSTORE { - def _i16i8 : OneInOneOut; def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; } // Multiclass that handles memory store operations multiclass LTRUNCSTORE { - def _i16i8 : OneInOneOut; def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; } // Multiclass that handles memory store operations multiclass PTRUNCSTORE { - def _i16i8 : OneInOneOut; def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; } // Multiclass that handles memory store operations multiclass RTRUNCSTORE { - def _i16i8 : OneInOneOut; def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; } // Multiclass that handles memory store operations multiclass STORE { - def _i8 : OneInOneOut; - def _i16 : OneInOneOut; def _i32 : OneInOneOut; def _f32 : OneInOneOut; - def _i64 : OneInOneOut; - def _f64 : OneInOneOut; - def _v4f32 : OneInOneOut; - def _v2f32 : OneInOneOut; - def _v4i32 : OneInOneOut; - def _v2i8 : OneInOneOut; - def _v2i16 : OneInOneOut; - def _v4i8 : OneInOneOut; - def _v4i16 : OneInOneOut; - def _v2i32 : OneInOneOut; - def _v2f64 : OneInOneOut; - def _v2i64 : OneInOneOut; } // Multiclass that handles load operations multiclass LOAD { - def _i8 : OneInOneOut; - def _i16 : OneInOneOut; def _i32 : OneInOneOut; def _f32 : OneInOneOut; - def _i64 : OneInOneOut; - def _f64 : OneInOneOut; - def _v4f32 : OneInOneOut; - def _v2f32 : OneInOneOut; - def _v2f64 : OneInOneOut; - def _v4i32 : OneInOneOut; - def _v2i8 : OneInOneOut; - def _v2i16 : OneInOneOut; - def _v4i8 : OneInOneOut; - def _v4i16 : OneInOneOut; - def _v2i32 : OneInOneOut; - def _v2i64 : OneInOneOut; -} - -// Multiclass that handles memory store operations -multiclass GTRUNCSTORE64 { - def _i16i8 : OneInOneOut; - def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; - def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; -} - -// Multiclass that handles memory store operations -multiclass LTRUNCSTORE64 { - def _i16i8 : OneInOneOut; - def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; - def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; -} - -// Multiclass that handles memory store operations -multiclass PTRUNCSTORE64 { - def _i16i8 : OneInOneOut; - def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; - def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; -} - -// Multiclass that handles memory store operations -multiclass RTRUNCSTORE64 { - def _i16i8 : OneInOneOut; - def _i32i8 : OneInOneOut; - def _i64i8 : OneInOneOut; - def _i32i16 : OneInOneOut; - def _i64i16 : OneInOneOut; - def _i64i32 : OneInOneOut; - def _f64f32 : OneInOneOut; - def _v2i32i8 : OneInOneOut; - def _v4i32i8 : OneInOneOut; - def _v2i16i8 : OneInOneOut; - def _v4i16i8 : OneInOneOut; - def _v2i32i16 : OneInOneOut; - def _v4i32i16 : OneInOneOut; - def _v2f64f32 : OneInOneOut; - def _v2i64i8 : OneInOneOut; - def _v2i64i16 : OneInOneOut; - def _v2i64i32 : OneInOneOut; -} - - -// Multiclass that handles memory store operations -multiclass STORE64 { - def _i8 : OneInOneOut; - def _i16 : OneInOneOut; - def _i32 : OneInOneOut; - def _f32 : OneInOneOut; - def _i64 : OneInOneOut; - def _f64 : OneInOneOut; - def _v4f32 : OneInOneOut; - def _v2f32 : OneInOneOut; - def _v4i32 : OneInOneOut; - def _v2i8 : OneInOneOut; - def _v2i16 : OneInOneOut; - def _v4i8 : OneInOneOut; - def _v4i16 : OneInOneOut; - def _v2i32 : OneInOneOut; - def _v2f64 : OneInOneOut; - def _v2i64 : OneInOneOut; -} - -// Multiclass that handles load operations -multiclass LOAD64 { - def _i8 : OneInOneOut; - def _i16 : OneInOneOut; - def _i32 : OneInOneOut; - def _f32 : OneInOneOut; - def _i64 : OneInOneOut; - def _f64 : OneInOneOut; - def _v4f32 : OneInOneOut; - def _v2f32 : OneInOneOut; - def _v2f64 : OneInOneOut; - def _v4i32 : OneInOneOut; - def _v2i8 : OneInOneOut; - def _v2i16 : OneInOneOut; - def _v4i8 : OneInOneOut; - def _v4i16 : OneInOneOut; - def _v2i32 : OneInOneOut; - def _v2i64 : OneInOneOut; } // Only scalar types should generate flow control multiclass BranchInstr { - def _i8 : UnaryOpNoRet; - def _i16 : UnaryOpNoRet; def _i32 : UnaryOpNoRet; - def _i64 : UnaryOpNoRet; def _f32 : UnaryOpNoRet; - def _f64 : UnaryOpNoRet; } // Only scalar types should generate flow control multiclass BranchInstr2 { - def _i8 : BinaryOpNoRet; - def _i16 : BinaryOpNoRet; def _i32 : BinaryOpNoRet; - def _i64 : BinaryOpNoRet; def _f32 : BinaryOpNoRet; - def _f64 : BinaryOpNoRet; -} - -// Class that handles the various vector extract patterns -multiclass VectorExtract { - def _v2f64 : ExtractVectorClass; - def _v4f32: ExtractVectorClass; - def _v2f32 : ExtractVectorClass; - def _v2i64 : ExtractVectorClass; - def _v4i8 : ExtractVectorClass; - def _v4i16 : ExtractVectorClass; - def _v4i32 : ExtractVectorClass; - def _v2i8 : ExtractVectorClass; - def _v2i16 : ExtractVectorClass; - def _v2i32 : ExtractVectorClass; -} - -multiclass VectorConcat { - def _v2f64 : VectorConcatClass; - def _v2i64 : VectorConcatClass; - def _v4f32 : VectorConcatClass; - def _v4i32 : VectorConcatClass; - def _v4i16 : VectorConcatClass; - def _v4i8 : VectorConcatClass; - def _v2f32 : VectorConcatClass; - def _v2i32 : VectorConcatClass; - def _v2i16 : VectorConcatClass; - def _v2i8 : VectorConcatClass; -} - -// Class that handles the various vector insert patterns -multiclass VectorInsert { - def _v2f64 : InsertVectorClass; - def _v4f32: InsertVectorClass; - def _v2f32 : InsertVectorClass; - def _v2i64 : InsertVectorClass; - def _v4i8 : InsertVectorClass; - def _v4i16 : InsertVectorClass; - def _v4i32 : InsertVectorClass; - def _v2i8 : InsertVectorClass; - def _v2i16 : InsertVectorClass; - def _v2i32 : InsertVectorClass; -} - -// generic class that handles math instruction for OneInOneOut instruction -// patterns -multiclass UnaryOpMC { - def _i8 : UnaryOp; - def _i16 : UnaryOp; - def _i32 : UnaryOp; - def _f32 : UnaryOp; - def _f64 : UnaryOp; - def _i64 : UnaryOp; - def _v4f32: UnaryOp; - def _v4i16 : UnaryOp; - def _v4i8 : UnaryOp; - def _v4i32 : UnaryOp; - def _v2f32 : UnaryOp; - def _v2i16 : UnaryOp; - def _v2i8 : UnaryOp; - def _v2i32 : UnaryOp; - def _v2f64 : UnaryOp; - def _v2i64 : UnaryOp; -} -multiclass UnaryOpMCVec { - def _v4f32: UnaryOp; - def _v4i16 : UnaryOp; - def _v4i8 : UnaryOp; - def _v4i32 : UnaryOp; - def _v2f32 : UnaryOp; - def _v2i16 : UnaryOp; - def _v2i8 : UnaryOp; - def _v2i32 : UnaryOp; - def _v2f64 : UnaryOp; - def _v2i64 : UnaryOp; -} - -multiclass UnaryOpMCf32< -ILOpCode f32OpCode, - SDNode OpNode> { - def _f32 : UnaryOp; - def _v4f32: UnaryOp; - def _v2f32 : UnaryOp; - } - -multiclass UnaryOpMCi32< -ILOpCode i32OpCode, - SDNode OpNode> { - def _i8 : UnaryOp; - def _i16 : UnaryOp; - def _i32 : UnaryOp; - def _v4i16 : UnaryOp; - def _v4i8 : UnaryOp; - def _v4i32 : UnaryOp; - def _v2i16 : UnaryOp; - def _v2i8 : UnaryOp; - def _v2i32 : UnaryOp; - } - - -multiclass BinaryOpMC { - def _i8 : BinaryOp; - - def _i16 : BinaryOp; - def _i32 : BinaryOp; - def _f32 : BinaryOp; - def _f64 : BinaryOp; - def _i64 : BinaryOp; - def _v4f32: BinaryOp; - def _v4i16 : BinaryOp; - def _v4i8 : BinaryOp; - def _v4i32 : BinaryOp; - def _v2f32 : BinaryOp; - def _v2i16 : BinaryOp; - def _v2i8 : BinaryOp; - def _v2i32 : BinaryOp; - def _v2f64 : BinaryOp; - def _v2i64 : BinaryOp; -} - -multiclass BinaryOpMCInt { - def _i8 : BinaryOp; - - def _i16 : BinaryOp; - def _i32 : BinaryOp; - def _i64 : BinaryOp; - def _v4i16 : BinaryOp; - def _v4i8 : BinaryOp; - def _v4i32 : BinaryOp; - def _v2i16 : BinaryOp; - def _v2i8 : BinaryOp; - def _v2i32 : BinaryOp; - def _v2i64 : BinaryOp; -} - -// generic class that handles math instruction for ThreeInOneOut -// instruction patterns -multiclass TernaryOpMC { - def _i8 : TernaryOp; - def _i16 : TernaryOp; - def _i32 : TernaryOp; - def _f32 : TernaryOp; - def _f64 : TernaryOp; - def _i64 : TernaryOp; - def _v4f32: TernaryOp; - def _v4i8 : TernaryOp; - def _v4i16 : TernaryOp; - def _v4i32 : TernaryOp; - def _v2f32 : TernaryOp; - def _v2i8 : TernaryOp; - def _v2i16 : TernaryOp; - def _v2i32 : TernaryOp; - def _v2f64 : TernaryOp; - def _v2i64 : TernaryOp; -} -multiclass BinaryOpMCi32 { - def _i8 : BinaryOp; - def _i16 : BinaryOp; - def _i32 : BinaryOp; - def _v4i16 : BinaryOp; - def _v4i8 : BinaryOp; - def _v4i32 : BinaryOp; - def _v2i16 : BinaryOp; - def _v2i8 : BinaryOp; - def _v2i32 : BinaryOp; -} -multiclass BinaryOpMCi64 { - def _i64 : BinaryOp; - def _v2i64 : BinaryOp; -} -multiclass BinaryOpMCi32Const { - def _i8 : BinaryOp; - def _i16 : BinaryOp; - def _i32 : BinaryOp; - def _v4i16 : BinaryOp; - def _v4i8 : BinaryOp; - def _v4i32 : BinaryOp; - def _v2i16 : BinaryOp; - def _v2i8 : BinaryOp; - def _v2i32 : BinaryOp; -} -multiclass BinaryOpMCf32 { - def _f32 : BinaryOp; - def _v4f32: BinaryOp; - def _v2f32 : BinaryOp; -} - -multiclass TernaryOpMCf64 { - def _f64 : TernaryOp; -} - -multiclass TernaryOpMCf32 { - def _f32 : TernaryOp; - def _v4f32: TernaryOp; - def _v2f32 : TernaryOp; -} -multiclass BinaryOpMCFloat { - def _f64 : BinaryOp; - def _v2f64 : BinaryOp; - def _f32 : BinaryOp; - def _v2f32 : BinaryOp; - def _v4f32: BinaryOp; - } - -multiclass TernaryOpMCScalar -{ - def _i8: TernaryOp; - def _i16: TernaryOp; - def _i32: TernaryOp; - def _i64: TernaryOp; - def _f32: TernaryOp; - def _f64: TernaryOp; -} - - -multiclass BitConversion -{ - def _i8 : UnaryOp; - def _i16 : UnaryOp; - def _i32 : UnaryOp; - def _f32 : UnaryOp; - def _i64 : UnaryOp; - def _f64 : UnaryOp; - def _v2i8 : UnaryOp; - def _v2i16 : UnaryOp; - def _v2i32 : UnaryOp; - def _v2f32 : UnaryOp; - def _v2i64 : UnaryOp; - def _v2f64 : UnaryOp; - def _v4i8 : UnaryOp; - def _v4i16 : UnaryOp; - def _v4i32 : UnaryOp; - def _v4f32 : UnaryOp; -} - - -multiclass UnaryIntrinsicInt -{ -def _i32 : OneInOneOut; -def _v2i32 : OneInOneOut; -def _v4i32 : OneInOneOut; -} - -multiclass IntrConvertF32TOF16 -{ -def _i16 : OneInOneOut; -def _v2i16 : OneInOneOut; -def _v4i16 : OneInOneOut; -} - - -multiclass IntrConvertF32TOI32 -{ -def _i32 : OneInOneOut; -def _v2i32 : OneInOneOut; -def _v4i32 : OneInOneOut; -} - -multiclass IntrConvertF64TOI32 -{ -def _i32 : OneInOneOut; -def _v2i32 : OneInOneOut; -} - -multiclass IntrConvertF16TOF32 -{ -def _f32 : OneInOneOut; -def _v2f32 : OneInOneOut; -def _v4f32 : OneInOneOut; -} - - -multiclass IntrConvertI32TOF32 -{ -def _f32 : OneInOneOut; -def _v2f32 : OneInOneOut; -def _v4f32 : OneInOneOut; -} - -multiclass BinaryIntrinsicLong -{ -def _i64 : TwoInOneOut; -} - - -multiclass BinaryIntrinsicInt -{ -def _i32 : TwoInOneOut; -def _v2i32 : TwoInOneOut; -def _v4i32 : TwoInOneOut; -} - -multiclass TernaryIntrinsicInt -{ -def _i32 : ThreeInOneOut; -def _v2i32 : ThreeInOneOut; -def _v4i32 : ThreeInOneOut; -} - -multiclass TernaryIntrinsicFloat -{ -def _f32 : ThreeInOneOut; -def _v2f32 : ThreeInOneOut; -def _v4f32 : ThreeInOneOut; -} - -multiclass BinaryIntrinsicDoubleScalar -{ -def _f64 : ThreeInOneOut; -} - -multiclass TernaryIntrinsicDoubleScalar -{ -def _f64 : ThreeInOneOut; -} - - -multiclass TernaryIntrinsicLongScalar -{ -def _i64 : ThreeInOneOut; -} - -multiclass QuaternaryIntrinsicInt -{ -def _i32 : FourInOneOut; -def _v2i32 : FourInOneOut; -def _v4i32 : FourInOneOut; -} - -multiclass UnaryIntrinsicFloatScalar -{ -def _f32 : OneInOneOut; -} - -multiclass UnaryIntrinsicFloat -{ -def _f32 : OneInOneOut; -def _v2f32 : OneInOneOut; -def _v4f32 : OneInOneOut; -} - -multiclass BinaryIntrinsicFloatScalar -{ -def _f32 : TwoInOneOut; -} -multiclass BinaryIntrinsicFloat -{ -def _f32 : TwoInOneOut; -def _v2f32 : TwoInOneOut; -def _v4f32 : TwoInOneOut; -} - -multiclass UnaryIntrinsicDoubleScalar -{ -def _f64 : OneInOneOut; -} - -multiclass UnaryIntrinsicDouble -{ -def _f64 : OneInOneOut; -def _v2f64 : OneInOneOut; -} - -multiclass BinaryIntrinsicDouble -{ -def _f64 : TwoInOneOut; -def _v2f64 : TwoInOneOut; -} - -multiclass TernaryIntrinsicDouble -{ -def _f64 : TwoInOneOut; -def _v2f64 : TwoInOneOut; } -- cgit v1.2.3