|
@@ -43,227 +43,227 @@ import hctdb_instrhelp
|
|
const OP::OpCodeProperty OP::m_OpCodeProps[(unsigned)OP::OpCode::NumOpCodes] = {
|
|
const OP::OpCodeProperty OP::m_OpCodeProps[(unsigned)OP::OpCode::NumOpCodes] = {
|
|
// OpCode OpCode name, OpCodeClass OpCodeClass name, void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// OpCode OpCode name, OpCodeClass OpCodeClass name, void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Temporary, indexable, input, output registers void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Temporary, indexable, input, output registers void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::TempRegLoad, "TempRegLoad", OCC::TempRegLoad, "tempRegLoad", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::TempRegStore, "TempRegStore", OCC::TempRegStore, "tempRegStore", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
- { OC::MinPrecXRegLoad, "MinPrecXRegLoad", OCC::MinPrecXRegLoad, "minPrecXRegLoad", false, true, false, false, false, false, true, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::MinPrecXRegStore, "MinPrecXRegStore", OCC::MinPrecXRegStore, "minPrecXRegStore", false, true, false, false, false, false, true, false, false, Attribute::None, },
|
|
|
|
- { OC::LoadInput, "LoadInput", OCC::LoadInput, "loadInput", false, true, true, false, false, false, true, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::StoreOutput, "StoreOutput", OCC::StoreOutput, "storeOutput", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
|
|
+ { OC::TempRegLoad, "TempRegLoad", OCC::TempRegLoad, "tempRegLoad", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::TempRegStore, "TempRegStore", OCC::TempRegStore, "tempRegStore", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
|
|
+ { OC::MinPrecXRegLoad, "MinPrecXRegLoad", OCC::MinPrecXRegLoad, "minPrecXRegLoad", {false, true, false, false, false, false, true, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::MinPrecXRegStore, "MinPrecXRegStore", OCC::MinPrecXRegStore, "minPrecXRegStore", {false, true, false, false, false, false, true, false, false}, Attribute::None, },
|
|
|
|
+ { OC::LoadInput, "LoadInput", OCC::LoadInput, "loadInput", {false, true, true, false, false, false, true, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::StoreOutput, "StoreOutput", OCC::StoreOutput, "storeOutput", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
|
|
|
|
// Unary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Unary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::FAbs, "FAbs", OCC::Unary, "unary", false, true, true, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Saturate, "Saturate", OCC::Unary, "unary", false, true, true, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::IsNaN, "IsNaN", OCC::IsSpecialFloat, "isSpecialFloat", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::IsInf, "IsInf", OCC::IsSpecialFloat, "isSpecialFloat", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::IsFinite, "IsFinite", OCC::IsSpecialFloat, "isSpecialFloat", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::IsNormal, "IsNormal", OCC::IsSpecialFloat, "isSpecialFloat", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Cos, "Cos", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Sin, "Sin", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Tan, "Tan", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Acos, "Acos", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Asin, "Asin", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Atan, "Atan", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Hcos, "Hcos", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Hsin, "Hsin", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Htan, "Htan", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Exp, "Exp", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Frc, "Frc", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Log, "Log", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Sqrt, "Sqrt", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Rsqrt, "Rsqrt", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::FAbs, "FAbs", OCC::Unary, "unary", {false, true, true, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Saturate, "Saturate", OCC::Unary, "unary", {false, true, true, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::IsNaN, "IsNaN", OCC::IsSpecialFloat, "isSpecialFloat", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::IsInf, "IsInf", OCC::IsSpecialFloat, "isSpecialFloat", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::IsFinite, "IsFinite", OCC::IsSpecialFloat, "isSpecialFloat", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::IsNormal, "IsNormal", OCC::IsSpecialFloat, "isSpecialFloat", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Cos, "Cos", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Sin, "Sin", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Tan, "Tan", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Acos, "Acos", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Asin, "Asin", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Atan, "Atan", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Hcos, "Hcos", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Hsin, "Hsin", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Htan, "Htan", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Exp, "Exp", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Frc, "Frc", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Log, "Log", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Sqrt, "Sqrt", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Rsqrt, "Rsqrt", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Unary float - rounding void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Unary float - rounding void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Round_ne, "Round_ne", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Round_ni, "Round_ni", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Round_pi, "Round_pi", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Round_z, "Round_z", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Round_ne, "Round_ne", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Round_ni, "Round_ni", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Round_pi, "Round_pi", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Round_z, "Round_z", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Unary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Unary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Bfrev, "Bfrev", OCC::Unary, "unary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
- { OC::Countbits, "Countbits", OCC::UnaryBits, "unaryBits", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
- { OC::FirstbitLo, "FirstbitLo", OCC::UnaryBits, "unaryBits", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Bfrev, "Bfrev", OCC::Unary, "unary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Countbits, "Countbits", OCC::UnaryBits, "unaryBits", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
+ { OC::FirstbitLo, "FirstbitLo", OCC::UnaryBits, "unaryBits", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Unary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Unary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::FirstbitHi, "FirstbitHi", OCC::UnaryBits, "unaryBits", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::FirstbitHi, "FirstbitHi", OCC::UnaryBits, "unaryBits", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Unary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Unary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::FirstbitSHi, "FirstbitSHi", OCC::UnaryBits, "unaryBits", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::FirstbitSHi, "FirstbitSHi", OCC::UnaryBits, "unaryBits", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::FMax, "FMax", OCC::Binary, "binary", false, true, true, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::FMin, "FMin", OCC::Binary, "binary", false, true, true, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::FMax, "FMax", OCC::Binary, "binary", {false, true, true, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::FMin, "FMin", OCC::Binary, "binary", {false, true, true, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::IMax, "IMax", OCC::Binary, "binary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
- { OC::IMin, "IMin", OCC::Binary, "binary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::IMax, "IMax", OCC::Binary, "binary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
+ { OC::IMin, "IMin", OCC::Binary, "binary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::UMax, "UMax", OCC::Binary, "binary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
- { OC::UMin, "UMin", OCC::Binary, "binary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::UMax, "UMax", OCC::Binary, "binary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
+ { OC::UMin, "UMin", OCC::Binary, "binary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary int with two outputs void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary int with two outputs void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::IMul, "IMul", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::IMul, "IMul", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary uint with two outputs void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary uint with two outputs void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::UMul, "UMul", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::UDiv, "UDiv", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::UMul, "UMul", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::UDiv, "UDiv", OCC::BinaryWithTwoOuts, "binaryWithTwoOuts", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Binary uint with carry or borrow void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Binary uint with carry or borrow void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::UAddc, "UAddc", OCC::BinaryWithCarryOrBorrow, "binaryWithCarryOrBorrow", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::USubb, "USubb", OCC::BinaryWithCarryOrBorrow, "binaryWithCarryOrBorrow", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::UAddc, "UAddc", OCC::BinaryWithCarryOrBorrow, "binaryWithCarryOrBorrow", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::USubb, "USubb", OCC::BinaryWithCarryOrBorrow, "binaryWithCarryOrBorrow", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Tertiary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Tertiary float void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::FMad, "FMad", OCC::Tertiary, "tertiary", false, true, true, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Fma, "Fma", OCC::Tertiary, "tertiary", false, false, false, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::FMad, "FMad", OCC::Tertiary, "tertiary", {false, true, true, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Fma, "Fma", OCC::Tertiary, "tertiary", {false, false, false, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Tertiary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Tertiary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::IMad, "IMad", OCC::Tertiary, "tertiary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::IMad, "IMad", OCC::Tertiary, "tertiary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Tertiary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Tertiary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::UMad, "UMad", OCC::Tertiary, "tertiary", false, false, false, false, false, false, true, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::UMad, "UMad", OCC::Tertiary, "tertiary", {false, false, false, false, false, false, true, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Tertiary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Tertiary int void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Msad, "Msad", OCC::Tertiary, "tertiary", false, false, false, false, false, false, false, true, true, Attribute::ReadNone, },
|
|
|
|
- { OC::Ibfe, "Ibfe", OCC::Tertiary, "tertiary", false, false, false, false, false, false, false, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Msad, "Msad", OCC::Tertiary, "tertiary", {false, false, false, false, false, false, false, true, true}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Ibfe, "Ibfe", OCC::Tertiary, "tertiary", {false, false, false, false, false, false, false, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Tertiary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Tertiary uint void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Ubfe, "Ubfe", OCC::Tertiary, "tertiary", false, false, false, false, false, false, false, true, true, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Ubfe, "Ubfe", OCC::Tertiary, "tertiary", {false, false, false, false, false, false, false, true, true}, Attribute::ReadNone, },
|
|
|
|
|
|
// Quaternary void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Quaternary void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Bfi, "Bfi", OCC::Quaternary, "quaternary", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Bfi, "Bfi", OCC::Quaternary, "quaternary", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Dot void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Dot void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Dot2, "Dot2", OCC::Dot2, "dot2", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Dot3, "Dot3", OCC::Dot3, "dot3", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Dot4, "Dot4", OCC::Dot4, "dot4", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::Dot2, "Dot2", OCC::Dot2, "dot2", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Dot3, "Dot3", OCC::Dot3, "dot3", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Dot4, "Dot4", OCC::Dot4, "dot4", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::CreateHandle, "CreateHandle", OCC::CreateHandle, "createHandle", true, false, false, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::CBufferLoad, "CBufferLoad", OCC::CBufferLoad, "cbufferLoad", false, true, true, true, false, true, true, true, true, Attribute::ReadOnly, },
|
|
|
|
- { OC::CBufferLoadLegacy, "CBufferLoadLegacy", OCC::CBufferLoadLegacy, "cbufferLoadLegacy", false, true, true, true, false, false, true, true, true, Attribute::ReadOnly, },
|
|
|
|
|
|
+ { OC::CreateHandle, "CreateHandle", OCC::CreateHandle, "createHandle", { true, false, false, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::CBufferLoad, "CBufferLoad", OCC::CBufferLoad, "cbufferLoad", {false, true, true, true, false, true, true, true, true}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::CBufferLoadLegacy, "CBufferLoadLegacy", OCC::CBufferLoadLegacy, "cbufferLoadLegacy", {false, true, true, true, false, false, true, true, true}, Attribute::ReadOnly, },
|
|
|
|
|
|
// Resources - sample void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources - sample void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Sample, "Sample", OCC::Sample, "sample", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::SampleBias, "SampleBias", OCC::SampleBias, "sampleBias", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::SampleLevel, "SampleLevel", OCC::SampleLevel, "sampleLevel", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::SampleGrad, "SampleGrad", OCC::SampleGrad, "sampleGrad", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::SampleCmp, "SampleCmp", OCC::SampleCmp, "sampleCmp", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::SampleCmpLevelZero, "SampleCmpLevelZero", OCC::SampleCmpLevelZero, "sampleCmpLevelZero", false, true, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
|
|
+ { OC::Sample, "Sample", OCC::Sample, "sample", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::SampleBias, "SampleBias", OCC::SampleBias, "sampleBias", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::SampleLevel, "SampleLevel", OCC::SampleLevel, "sampleLevel", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::SampleGrad, "SampleGrad", OCC::SampleGrad, "sampleGrad", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::SampleCmp, "SampleCmp", OCC::SampleCmp, "sampleCmp", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::SampleCmpLevelZero, "SampleCmpLevelZero", OCC::SampleCmpLevelZero, "sampleCmpLevelZero", {false, true, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::TextureLoad, "TextureLoad", OCC::TextureLoad, "textureLoad", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::TextureStore, "TextureStore", OCC::TextureStore, "textureStore", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
- { OC::BufferLoad, "BufferLoad", OCC::BufferLoad, "bufferLoad", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::BufferStore, "BufferStore", OCC::BufferStore, "bufferStore", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
- { OC::BufferUpdateCounter, "BufferUpdateCounter", OCC::BufferUpdateCounter, "bufferUpdateCounter", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::CheckAccessFullyMapped, "CheckAccessFullyMapped", OCC::CheckAccessFullyMapped, "checkAccessFullyMapped", false, false, false, false, false, false, false, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::GetDimensions, "GetDimensions", OCC::GetDimensions, "getDimensions", true, false, false, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
|
|
+ { OC::TextureLoad, "TextureLoad", OCC::TextureLoad, "textureLoad", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::TextureStore, "TextureStore", OCC::TextureStore, "textureStore", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
|
|
+ { OC::BufferLoad, "BufferLoad", OCC::BufferLoad, "bufferLoad", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::BufferStore, "BufferStore", OCC::BufferStore, "bufferStore", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
|
|
+ { OC::BufferUpdateCounter, "BufferUpdateCounter", OCC::BufferUpdateCounter, "bufferUpdateCounter", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::CheckAccessFullyMapped, "CheckAccessFullyMapped", OCC::CheckAccessFullyMapped, "checkAccessFullyMapped", {false, false, false, false, false, false, false, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::GetDimensions, "GetDimensions", OCC::GetDimensions, "getDimensions", { true, false, false, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
|
|
// Resources - gather void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources - gather void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::TextureGather, "TextureGather", OCC::TextureGather, "textureGather", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::TextureGatherCmp, "TextureGatherCmp", OCC::TextureGatherCmp, "textureGatherCmp", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
|
|
+ { OC::TextureGather, "TextureGather", OCC::TextureGather, "textureGather", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::TextureGatherCmp, "TextureGatherCmp", OCC::TextureGatherCmp, "textureGatherCmp", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
|
|
// Resources - sample void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources - sample void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::Texture2DMSGetSamplePosition, "Texture2DMSGetSamplePosition", OCC::Texture2DMSGetSamplePosition, "texture2DMSGetSamplePosition", true, false, false, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::RenderTargetGetSamplePosition, "RenderTargetGetSamplePosition", OCC::RenderTargetGetSamplePosition, "renderTargetGetSamplePosition", true, false, false, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::RenderTargetGetSampleCount, "RenderTargetGetSampleCount", OCC::RenderTargetGetSampleCount, "renderTargetGetSampleCount", true, false, false, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
|
|
+ { OC::Texture2DMSGetSamplePosition, "Texture2DMSGetSamplePosition", OCC::Texture2DMSGetSamplePosition, "texture2DMSGetSamplePosition", {true, false, false, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::RenderTargetGetSamplePosition, "RenderTargetGetSamplePosition", OCC::RenderTargetGetSamplePosition, "renderTargetGetSamplePosition", {true, false, false, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::RenderTargetGetSampleCount, "RenderTargetGetSampleCount", OCC::RenderTargetGetSampleCount, "renderTargetGetSampleCount", {true, false, false, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
|
|
// Synchronization void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Synchronization void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::AtomicBinOp, "AtomicBinOp", OCC::AtomicBinOp, "atomicBinOp", false, false, false, false, false, false, false, true, false, Attribute::None, },
|
|
|
|
- { OC::AtomicCompareExchange, "AtomicCompareExchange", OCC::AtomicCompareExchange, "atomicCompareExchange", false, false, false, false, false, false, false, true, false, Attribute::None, },
|
|
|
|
- { OC::Barrier, "Barrier", OCC::Barrier, "barrier", true, false, false, false, false, false, false, false, false, Attribute::NoDuplicate, },
|
|
|
|
|
|
+ { OC::AtomicBinOp, "AtomicBinOp", OCC::AtomicBinOp, "atomicBinOp", {false, false, false, false, false, false, false, true, false}, Attribute::None, },
|
|
|
|
+ { OC::AtomicCompareExchange, "AtomicCompareExchange", OCC::AtomicCompareExchange, "atomicCompareExchange", {false, false, false, false, false, false, false, true, false}, Attribute::None, },
|
|
|
|
+ { OC::Barrier, "Barrier", OCC::Barrier, "barrier", { true, false, false, false, false, false, false, false, false}, Attribute::NoDuplicate, },
|
|
|
|
|
|
// Pixel shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Pixel shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::CalculateLOD, "CalculateLOD", OCC::CalculateLOD, "calculateLOD", false, false, true, false, false, false, false, false, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::Discard, "Discard", OCC::Discard, "discard", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::DerivCoarseX, "DerivCoarseX", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::DerivCoarseY, "DerivCoarseY", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::DerivFineX, "DerivFineX", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::DerivFineY, "DerivFineY", OCC::Unary, "unary", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::EvalSnapped, "EvalSnapped", OCC::EvalSnapped, "evalSnapped", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::EvalSampleIndex, "EvalSampleIndex", OCC::EvalSampleIndex, "evalSampleIndex", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::EvalCentroid, "EvalCentroid", OCC::EvalCentroid, "evalCentroid", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::SampleIndex, "SampleIndex", OCC::SampleIndex, "sampleIndex", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::Coverage, "Coverage", OCC::Coverage, "coverage", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::InnerCoverage, "InnerCoverage", OCC::InnerCoverage, "innerCoverage", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::CalculateLOD, "CalculateLOD", OCC::CalculateLOD, "calculateLOD", {false, false, true, false, false, false, false, false, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::Discard, "Discard", OCC::Discard, "discard", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::DerivCoarseX, "DerivCoarseX", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::DerivCoarseY, "DerivCoarseY", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::DerivFineX, "DerivFineX", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::DerivFineY, "DerivFineY", OCC::Unary, "unary", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::EvalSnapped, "EvalSnapped", OCC::EvalSnapped, "evalSnapped", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::EvalSampleIndex, "EvalSampleIndex", OCC::EvalSampleIndex, "evalSampleIndex", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::EvalCentroid, "EvalCentroid", OCC::EvalCentroid, "evalCentroid", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::SampleIndex, "SampleIndex", OCC::SampleIndex, "sampleIndex", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::Coverage, "Coverage", OCC::Coverage, "coverage", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::InnerCoverage, "InnerCoverage", OCC::InnerCoverage, "innerCoverage", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Compute shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Compute shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::ThreadId, "ThreadId", OCC::ThreadId, "threadId", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::GroupId, "GroupId", OCC::GroupId, "groupId", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::ThreadIdInGroup, "ThreadIdInGroup", OCC::ThreadIdInGroup, "threadIdInGroup", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::FlattenedThreadIdInGroup, "FlattenedThreadIdInGroup", OCC::FlattenedThreadIdInGroup, "flattenedThreadIdInGroup", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::ThreadId, "ThreadId", OCC::ThreadId, "threadId", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::GroupId, "GroupId", OCC::GroupId, "groupId", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::ThreadIdInGroup, "ThreadIdInGroup", OCC::ThreadIdInGroup, "threadIdInGroup", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::FlattenedThreadIdInGroup, "FlattenedThreadIdInGroup", OCC::FlattenedThreadIdInGroup, "flattenedThreadIdInGroup", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Geometry shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Geometry shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::EmitStream, "EmitStream", OCC::EmitStream, "emitStream", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::CutStream, "CutStream", OCC::CutStream, "cutStream", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::EmitThenCutStream, "EmitThenCutStream", OCC::EmitThenCutStream, "emitThenCutStream", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::GSInstanceID, "GSInstanceID", OCC::GSInstanceID, "gsInstanceID", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::EmitStream, "EmitStream", OCC::EmitStream, "emitStream", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::CutStream, "CutStream", OCC::CutStream, "cutStream", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::EmitThenCutStream, "EmitThenCutStream", OCC::EmitThenCutStream, "emitThenCutStream", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::GSInstanceID, "GSInstanceID", OCC::GSInstanceID, "gsInstanceID", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Double precision void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Double precision void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::MakeDouble, "MakeDouble", OCC::MakeDouble, "makeDouble", false, false, false, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::SplitDouble, "SplitDouble", OCC::SplitDouble, "splitDouble", false, false, false, true, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::MakeDouble, "MakeDouble", OCC::MakeDouble, "makeDouble", {false, false, false, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::SplitDouble, "SplitDouble", OCC::SplitDouble, "splitDouble", {false, false, false, true, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Domain and hull shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Domain and hull shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::LoadOutputControlPoint, "LoadOutputControlPoint", OCC::LoadOutputControlPoint, "loadOutputControlPoint", false, true, true, false, false, false, true, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::LoadPatchConstant, "LoadPatchConstant", OCC::LoadPatchConstant, "loadPatchConstant", false, true, true, false, false, false, true, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::LoadOutputControlPoint, "LoadOutputControlPoint", OCC::LoadOutputControlPoint, "loadOutputControlPoint", {false, true, true, false, false, false, true, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::LoadPatchConstant, "LoadPatchConstant", OCC::LoadPatchConstant, "loadPatchConstant", {false, true, true, false, false, false, true, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Domain shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Domain shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::DomainLocation, "DomainLocation", OCC::DomainLocation, "domainLocation", false, false, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::DomainLocation, "DomainLocation", OCC::DomainLocation, "domainLocation", {false, false, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Hull shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Hull shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::StorePatchConstant, "StorePatchConstant", OCC::StorePatchConstant, "storePatchConstant", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
- { OC::OutputControlPointID, "OutputControlPointID", OCC::OutputControlPointID, "outputControlPointID", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
- { OC::PrimitiveID, "PrimitiveID", OCC::PrimitiveID, "primitiveID", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::StorePatchConstant, "StorePatchConstant", OCC::StorePatchConstant, "storePatchConstant", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
|
|
+ { OC::OutputControlPointID, "OutputControlPointID", OCC::OutputControlPointID, "outputControlPointID", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::PrimitiveID, "PrimitiveID", OCC::PrimitiveID, "primitiveID", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Other void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Other void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::CycleCounterLegacy, "CycleCounterLegacy", OCC::CycleCounterLegacy, "cycleCounterLegacy", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
|
|
+ { OC::CycleCounterLegacy, "CycleCounterLegacy", OCC::CycleCounterLegacy, "cycleCounterLegacy", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
|
|
// Wave void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Wave void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::WaveIsFirstLane, "WaveIsFirstLane", OCC::WaveIsFirstLane, "waveIsFirstLane", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::WaveGetLaneIndex, "WaveGetLaneIndex", OCC::WaveGetLaneIndex, "waveGetLaneIndex", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::WaveGetLaneCount, "WaveGetLaneCount", OCC::WaveGetLaneCount, "waveGetLaneCount", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::WaveAnyTrue, "WaveAnyTrue", OCC::WaveAnyTrue, "waveAnyTrue", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::WaveAllTrue, "WaveAllTrue", OCC::WaveAllTrue, "waveAllTrue", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::WaveActiveAllEqual, "WaveActiveAllEqual", OCC::WaveActiveAllEqual, "waveActiveAllEqual", false, true, true, true, true, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::WaveActiveBallot, "WaveActiveBallot", OCC::WaveActiveBallot, "waveActiveBallot", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::WaveReadLaneAt, "WaveReadLaneAt", OCC::WaveReadLaneAt, "waveReadLaneAt", false, true, true, true, true, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::WaveReadLaneFirst, "WaveReadLaneFirst", OCC::WaveReadLaneFirst, "waveReadLaneFirst", false, true, true, false, true, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::WaveActiveOp, "WaveActiveOp", OCC::WaveActiveOp, "waveActiveOp", false, true, true, true, true, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::WaveActiveBit, "WaveActiveBit", OCC::WaveActiveBit, "waveActiveBit", false, false, false, false, false, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::WavePrefixOp, "WavePrefixOp", OCC::WavePrefixOp, "wavePrefixOp", false, true, true, true, false, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::QuadReadLaneAt, "QuadReadLaneAt", OCC::QuadReadLaneAt, "quadReadLaneAt", false, true, true, true, true, true, true, true, true, Attribute::None, },
|
|
|
|
- { OC::QuadOp, "QuadOp", OCC::QuadOp, "quadOp", false, true, true, true, false, true, true, true, true, Attribute::None, },
|
|
|
|
|
|
+ { OC::WaveIsFirstLane, "WaveIsFirstLane", OCC::WaveIsFirstLane, "waveIsFirstLane", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::WaveGetLaneIndex, "WaveGetLaneIndex", OCC::WaveGetLaneIndex, "waveGetLaneIndex", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::WaveGetLaneCount, "WaveGetLaneCount", OCC::WaveGetLaneCount, "waveGetLaneCount", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::WaveAnyTrue, "WaveAnyTrue", OCC::WaveAnyTrue, "waveAnyTrue", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::WaveAllTrue, "WaveAllTrue", OCC::WaveAllTrue, "waveAllTrue", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::WaveActiveAllEqual, "WaveActiveAllEqual", OCC::WaveActiveAllEqual, "waveActiveAllEqual", {false, true, true, true, true, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::WaveActiveBallot, "WaveActiveBallot", OCC::WaveActiveBallot, "waveActiveBallot", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::WaveReadLaneAt, "WaveReadLaneAt", OCC::WaveReadLaneAt, "waveReadLaneAt", {false, true, true, true, true, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::WaveReadLaneFirst, "WaveReadLaneFirst", OCC::WaveReadLaneFirst, "waveReadLaneFirst", {false, true, true, false, true, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::WaveActiveOp, "WaveActiveOp", OCC::WaveActiveOp, "waveActiveOp", {false, true, true, true, true, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::WaveActiveBit, "WaveActiveBit", OCC::WaveActiveBit, "waveActiveBit", {false, false, false, false, false, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::WavePrefixOp, "WavePrefixOp", OCC::WavePrefixOp, "wavePrefixOp", {false, true, true, true, false, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::QuadReadLaneAt, "QuadReadLaneAt", OCC::QuadReadLaneAt, "quadReadLaneAt", {false, true, true, true, true, true, true, true, true}, Attribute::None, },
|
|
|
|
+ { OC::QuadOp, "QuadOp", OCC::QuadOp, "quadOp", {false, true, true, true, false, true, true, true, true}, Attribute::None, },
|
|
|
|
|
|
// Bitcasts with different sizes void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Bitcasts with different sizes void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::BitcastI16toF16, "BitcastI16toF16", OCC::BitcastI16toF16, "bitcastI16toF16", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::BitcastF16toI16, "BitcastF16toI16", OCC::BitcastF16toI16, "bitcastF16toI16", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::BitcastI32toF32, "BitcastI32toF32", OCC::BitcastI32toF32, "bitcastI32toF32", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::BitcastF32toI32, "BitcastF32toI32", OCC::BitcastF32toI32, "bitcastF32toI32", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::BitcastI64toF64, "BitcastI64toF64", OCC::BitcastI64toF64, "bitcastI64toF64", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::BitcastF64toI64, "BitcastF64toI64", OCC::BitcastF64toI64, "bitcastF64toI64", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::BitcastI16toF16, "BitcastI16toF16", OCC::BitcastI16toF16, "bitcastI16toF16", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::BitcastF16toI16, "BitcastF16toI16", OCC::BitcastF16toI16, "bitcastF16toI16", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::BitcastI32toF32, "BitcastI32toF32", OCC::BitcastI32toF32, "bitcastI32toF32", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::BitcastF32toI32, "BitcastF32toI32", OCC::BitcastF32toI32, "bitcastF32toI32", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::BitcastI64toF64, "BitcastI64toF64", OCC::BitcastI64toF64, "bitcastI64toF64", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::BitcastF64toI64, "BitcastF64toI64", OCC::BitcastF64toI64, "bitcastF64toI64", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Legacy floating-point void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Legacy floating-point void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::LegacyF32ToF16, "LegacyF32ToF16", OCC::LegacyF32ToF16, "legacyF32ToF16", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::LegacyF16ToF32, "LegacyF16ToF32", OCC::LegacyF16ToF32, "legacyF16ToF32", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::LegacyF32ToF16, "LegacyF32ToF16", OCC::LegacyF32ToF16, "legacyF32ToF16", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::LegacyF16ToF32, "LegacyF16ToF32", OCC::LegacyF16ToF32, "legacyF16ToF32", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Double precision void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Double precision void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::LegacyDoubleToFloat, "LegacyDoubleToFloat", OCC::LegacyDoubleToFloat, "legacyDoubleToFloat", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::LegacyDoubleToSInt32, "LegacyDoubleToSInt32", OCC::LegacyDoubleToSInt32, "legacyDoubleToSInt32", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
- { OC::LegacyDoubleToUInt32, "LegacyDoubleToUInt32", OCC::LegacyDoubleToUInt32, "legacyDoubleToUInt32", true, false, false, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::LegacyDoubleToFloat, "LegacyDoubleToFloat", OCC::LegacyDoubleToFloat, "legacyDoubleToFloat", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::LegacyDoubleToSInt32, "LegacyDoubleToSInt32", OCC::LegacyDoubleToSInt32, "legacyDoubleToSInt32", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
+ { OC::LegacyDoubleToUInt32, "LegacyDoubleToUInt32", OCC::LegacyDoubleToUInt32, "legacyDoubleToUInt32", { true, false, false, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Wave void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Wave void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::WaveAllBitCount, "WaveAllBitCount", OCC::WaveAllOp, "waveAllOp", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
- { OC::WavePrefixBitCount, "WavePrefixBitCount", OCC::WavePrefixOp, "wavePrefixOp", true, false, false, false, false, false, false, false, false, Attribute::None, },
|
|
|
|
|
|
+ { OC::WaveAllBitCount, "WaveAllBitCount", OCC::WaveAllOp, "waveAllOp", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
+ { OC::WavePrefixBitCount, "WavePrefixBitCount", OCC::WavePrefixOp, "wavePrefixOp", { true, false, false, false, false, false, false, false, false}, Attribute::None, },
|
|
|
|
|
|
// Pixel shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Pixel shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::AttributeAtVertex, "AttributeAtVertex", OCC::AttributeAtVertex, "attributeAtVertex", false, true, true, false, false, false, false, false, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::AttributeAtVertex, "AttributeAtVertex", OCC::AttributeAtVertex, "attributeAtVertex", {false, true, true, false, false, false, false, false, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Graphics shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Graphics shader void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::ViewID, "ViewID", OCC::ViewID, "viewID", false, false, false, false, false, false, false, true, false, Attribute::ReadNone, },
|
|
|
|
|
|
+ { OC::ViewID, "ViewID", OCC::ViewID, "viewID", {false, false, false, false, false, false, false, true, false}, Attribute::ReadNone, },
|
|
|
|
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
// Resources void, h, f, d, i1, i8, i16, i32, i64 function attribute
|
|
- { OC::RawBufferLoad, "RawBufferLoad", OCC::RawBufferLoad, "rawBufferLoad", false, true, true, false, false, false, true, true, false, Attribute::ReadOnly, },
|
|
|
|
- { OC::RawBufferStore, "RawBufferStore", OCC::RawBufferStore, "rawBufferStore", false, true, true, false, false, false, true, true, false, Attribute::None, },
|
|
|
|
|
|
+ { OC::RawBufferLoad, "RawBufferLoad", OCC::RawBufferLoad, "rawBufferLoad", {false, true, true, false, false, false, true, true, false}, Attribute::ReadOnly, },
|
|
|
|
+ { OC::RawBufferStore, "RawBufferStore", OCC::RawBufferStore, "rawBufferStore", {false, true, true, false, false, false, true, true, false}, Attribute::None, },
|
|
};
|
|
};
|
|
// OPCODE-OLOADS:END
|
|
// OPCODE-OLOADS:END
|
|
|
|
|