mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-02 07:22:24 +00:00
clang-format
This commit is contained in:
parent
301f51e57d
commit
418f7daa57
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <tuple>
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
namespace Common {
|
namespace Common {
|
||||||
|
|
||||||
|
@ -6,224 +6,324 @@
|
|||||||
|
|
||||||
namespace Shader::IR::ComputeValue {
|
namespace Shader::IR::ComputeValue {
|
||||||
|
|
||||||
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
const auto op = [](const ImmValue& a, const ImmValue& b) {
|
const ImmValueList& arg1) {
|
||||||
return ImmValue(a, b);
|
const auto op = [](const ImmValue& a, const ImmValue& b) { return ImmValue(a, b); };
|
||||||
};
|
|
||||||
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2) {
|
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2) {
|
||||||
const auto op = [](const ImmValue& a, const ImmValue& b, const ImmValue& c) {
|
const auto op = [](const ImmValue& a, const ImmValue& b, const ImmValue& c) {
|
||||||
return ImmValue(a, b, c);
|
return ImmValue(a, b, c);
|
||||||
};
|
};
|
||||||
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1, arg2);
|
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1,
|
||||||
|
arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3) {
|
static void CommonCompositeConstruct(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
|
const ImmValueList& arg3) {
|
||||||
const auto op = [](const ImmValue& a, const ImmValue& b, const ImmValue& c, const ImmValue& d) {
|
const auto op = [](const ImmValue& a, const ImmValue& b, const ImmValue& c, const ImmValue& d) {
|
||||||
return ImmValue(a, b, c, d);
|
return ImmValue(a, b, c, d);
|
||||||
};
|
};
|
||||||
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1, arg2, arg3);
|
Common::CartesianInvoke(op, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1,
|
||||||
|
arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructU32x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructU32x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1);
|
CommonCompositeConstruct(inst_values, arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructU32x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2) {
|
void DoCompositeConstructU32x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructU32x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3) {
|
void DoCompositeConstructU32x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
|
const ImmValueList& arg3) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructU32x2x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructU32x2x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
Common::CartesianInvoke(ImmValue::CompositeFrom2x2, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
const ImmValueList& arg1) {
|
||||||
|
Common::CartesianInvoke(ImmValue::CompositeFrom2x2,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractU32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractU32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractU32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractU32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractU32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractU32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertU32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertU32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertU32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertU32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertU32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertU32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleU32x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1) {
|
void DoCompositeShuffleU32x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleU32x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2) {
|
void DoCompositeShuffleU32x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleU32x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3) {
|
void DoCompositeShuffleU32x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF16x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructF16x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1);
|
CommonCompositeConstruct(inst_values, arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF16x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2) {
|
void DoCompositeConstructF16x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF16x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3) {
|
void DoCompositeConstructF16x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
|
const ImmValueList& arg3) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF32x2x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructF32x2x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
Common::CartesianInvoke(ImmValue::CompositeFrom2x2, std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
const ImmValueList& arg1) {
|
||||||
|
Common::CartesianInvoke(ImmValue::CompositeFrom2x2,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF16x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF16x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF16x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF16x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF16x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF16x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF16x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF16x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF16x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF16x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF16x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF16x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF16x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1) {
|
void DoCompositeShuffleF16x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF16x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2) {
|
void DoCompositeShuffleF16x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF16x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3) {
|
void DoCompositeShuffleF16x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF32x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructF32x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1);
|
CommonCompositeConstruct(inst_values, arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF32x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2) {
|
void DoCompositeConstructF32x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF32x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3) {
|
void DoCompositeConstructF32x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
|
const ImmValueList& arg3) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF32x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1) {
|
void DoCompositeShuffleF32x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF32x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2) {
|
void DoCompositeShuffleF32x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF32x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3) {
|
void DoCompositeShuffleF32x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF64x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1) {
|
void DoCompositeConstructF64x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1);
|
CommonCompositeConstruct(inst_values, arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF64x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2) {
|
void DoCompositeConstructF64x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeConstructF64x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3) {
|
void DoCompositeConstructF64x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
|
const ImmValueList& arg3) {
|
||||||
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
CommonCompositeConstruct(inst_values, arg0, arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF64x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF64x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF64x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF64x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeExtractF64x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx) {
|
void DoCompositeExtractF64x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Extract, std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Extract,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF64x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF64x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF64x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF64x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeInsertF64x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx) {
|
void DoCompositeInsertF64x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
Common::CartesianInvoke(ImmValue::Insert, std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
const ImmValueList& val, const ImmValueList& idx) {
|
||||||
|
Common::CartesianInvoke(ImmValue::Insert,
|
||||||
|
std::insert_iterator(inst_values, inst_values.begin()), vec, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF64x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1) {
|
void DoCompositeShuffleF64x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF64x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2) {
|
void DoCompositeShuffleF64x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoCompositeShuffleF64x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3) {
|
void DoCompositeShuffleF64x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3) {
|
||||||
UNREACHABLE_MSG("Unimplemented");
|
UNREACHABLE_MSG("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,58 +7,128 @@
|
|||||||
|
|
||||||
namespace Shader::IR::ComputeValue {
|
namespace Shader::IR::ComputeValue {
|
||||||
|
|
||||||
void DoCompositeConstructU32x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
void DoCompositeConstructU32x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructU32x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeConstructU32x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3);
|
void DoCompositeConstructU32x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructU32x2x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
const ImmValueList& arg1, const ImmValueList& arg2);
|
||||||
void DoCompositeExtractU32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
void DoCompositeConstructU32x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractU32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
void DoCompositeExtractU32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg3);
|
||||||
void DoCompositeInsertU32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeConstructU32x2x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeInsertU32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeInsertU32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeExtractU32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleU32x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleU32x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2);
|
void DoCompositeExtractU32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleU32x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3);
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeExtractU32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertU32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertU32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertU32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeShuffleU32x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1);
|
||||||
|
void DoCompositeShuffleU32x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2);
|
||||||
|
void DoCompositeShuffleU32x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3);
|
||||||
|
|
||||||
void DoCompositeConstructF16x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
void DoCompositeConstructF16x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructF16x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeConstructF16x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3);
|
void DoCompositeConstructF16x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractF16x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2);
|
||||||
void DoCompositeExtractF16x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
void DoCompositeConstructF16x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractF16x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
void DoCompositeInsertF16x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& arg3);
|
||||||
void DoCompositeInsertF16x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeExtractF16x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeInsertF16x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleF16x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1);
|
void DoCompositeExtractF16x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleF16x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleF16x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3);
|
void DoCompositeExtractF16x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF16x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF16x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF16x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeShuffleF16x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1);
|
||||||
|
void DoCompositeShuffleF16x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2);
|
||||||
|
void DoCompositeShuffleF16x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3);
|
||||||
|
|
||||||
void DoCompositeConstructF32x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
void DoCompositeConstructF32x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructF32x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeConstructF32x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3);
|
void DoCompositeConstructF32x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructF32x2x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
const ImmValueList& arg1, const ImmValueList& arg2);
|
||||||
void DoCompositeExtractF32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
void DoCompositeConstructF32x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractF32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
void DoCompositeExtractF32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg3);
|
||||||
void DoCompositeInsertF32x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeConstructF32x2x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeInsertF32x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeInsertF32x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeExtractF32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleF32x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleF32x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2);
|
void DoCompositeExtractF32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleF32x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3);
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeExtractF32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF32x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF32x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF32x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeShuffleF32x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1);
|
||||||
|
void DoCompositeShuffleF32x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2);
|
||||||
|
void DoCompositeShuffleF32x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3);
|
||||||
|
|
||||||
void DoCompositeConstructF64x2(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1);
|
void DoCompositeConstructF64x2(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeConstructF64x3(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2);
|
const ImmValueList& arg1);
|
||||||
void DoCompositeConstructF64x4(ImmValueList& inst_values, const ImmValueList& arg0, const ImmValueList& arg1, const ImmValueList& arg2, const ImmValueList& arg3);
|
void DoCompositeConstructF64x3(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractF64x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2);
|
||||||
void DoCompositeExtractF64x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
void DoCompositeConstructF64x4(ImmValueList& inst_values, const ImmValueList& arg0,
|
||||||
void DoCompositeExtractF64x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& idx);
|
const ImmValueList& arg1, const ImmValueList& arg2,
|
||||||
void DoCompositeInsertF64x2(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& arg3);
|
||||||
void DoCompositeInsertF64x3(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
void DoCompositeExtractF64x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeInsertF64x4(ImmValueList& inst_values, const ImmValueList& vec, const ImmValueList& val, const ImmValueList& idx);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleF64x2(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1);
|
void DoCompositeExtractF64x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
void DoCompositeShuffleF64x3(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2);
|
const ImmValueList& idx);
|
||||||
void DoCompositeShuffleF64x4(ImmValueList& inst_values, const ImmValueList& vec0, const ImmValueList& vec1, const ImmValueList& idx0, const ImmValueList& idx1, const ImmValueList& idx2, const ImmValueList& idx3);
|
void DoCompositeExtractF64x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF64x2(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF64x3(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeInsertF64x4(ImmValueList& inst_values, const ImmValueList& vec,
|
||||||
|
const ImmValueList& val, const ImmValueList& idx);
|
||||||
|
void DoCompositeShuffleF64x2(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1);
|
||||||
|
void DoCompositeShuffleF64x3(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2);
|
||||||
|
void DoCompositeShuffleF64x4(ImmValueList& inst_values, const ImmValueList& vec0,
|
||||||
|
const ImmValueList& vec1, const ImmValueList& idx0,
|
||||||
|
const ImmValueList& idx1, const ImmValueList& idx2,
|
||||||
|
const ImmValueList& idx3);
|
||||||
|
|
||||||
} // namespace Shader::IR::ComputeValue
|
} // namespace Shader::IR::ComputeValue
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
namespace Shader::IR::ComputeValue {
|
namespace Shader::IR::ComputeValue {
|
||||||
|
|
||||||
#define NOP_FUNCTION(name) inline void Do##name(ImmValueList& inst_values) {}
|
#define NOP_FUNCTION(name) \
|
||||||
|
inline void Do##name(ImmValueList& inst_values) {}
|
||||||
|
|
||||||
NOP_FUNCTION(Phi)
|
NOP_FUNCTION(Phi)
|
||||||
NOP_FUNCTION(Identity)
|
NOP_FUNCTION(Identity)
|
||||||
|
Loading…
Reference in New Issue
Block a user