Format all code with new clang-format
This commit is contained in:
@@ -18,9 +18,10 @@ using xe::cpu::ppc::PPCContext;
|
||||
|
||||
TEST_CASE("ADD_I8", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -90,9 +91,10 @@ TEST_CASE("ADD_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("ADD_I16", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT16_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT16_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -162,9 +164,10 @@ TEST_CASE("ADD_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("ADD_I32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT32_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Add(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT32_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -304,9 +307,10 @@ TEST_CASE("ADD_I64", "[instr]") {
|
||||
|
||||
TEST_CASE("ADD_F32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreFPR(b, 3, b.Convert(b.Add(b.Convert(LoadFPR(b, 4), FLOAT32_TYPE),
|
||||
b.Convert(LoadFPR(b, 5), FLOAT32_TYPE)),
|
||||
FLOAT64_TYPE));
|
||||
StoreFPR(b, 3,
|
||||
b.Convert(b.Add(b.Convert(LoadFPR(b, 4), FLOAT32_TYPE),
|
||||
b.Convert(LoadFPR(b, 5), FLOAT32_TYPE)),
|
||||
FLOAT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -19,10 +19,11 @@ using xe::cpu::ppc::PPCContext;
|
||||
|
||||
TEST_CASE("EXTRACT_INT8", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4),
|
||||
b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
INT8_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(
|
||||
b, 3,
|
||||
b.ZeroExtend(b.Extract(LoadVR(b, 4),
|
||||
b.Truncate(LoadGPR(b, 4), INT8_TYPE), INT8_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
@@ -42,9 +43,10 @@ TEST_CASE("EXTRACT_INT8", "[instr]") {
|
||||
TEST_CASE("EXTRACT_INT8_CONSTANT", "[instr]") {
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
TestFunction([i](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i),
|
||||
INT8_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(
|
||||
b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i), INT8_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
@@ -62,10 +64,11 @@ TEST_CASE("EXTRACT_INT8_CONSTANT", "[instr]") {
|
||||
|
||||
TEST_CASE("EXTRACT_INT16", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4),
|
||||
b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
INT16_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(
|
||||
b.Extract(LoadVR(b, 4), b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
INT16_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
@@ -85,9 +88,10 @@ TEST_CASE("EXTRACT_INT16", "[instr]") {
|
||||
TEST_CASE("EXTRACT_INT16_CONSTANT", "[instr]") {
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
TestFunction([i](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i),
|
||||
INT16_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(
|
||||
b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i), INT16_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
@@ -104,10 +108,11 @@ TEST_CASE("EXTRACT_INT16_CONSTANT", "[instr]") {
|
||||
|
||||
TEST_CASE("EXTRACT_INT32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4),
|
||||
b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
INT32_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(
|
||||
b.Extract(LoadVR(b, 4), b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
INT32_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
@@ -126,9 +131,10 @@ TEST_CASE("EXTRACT_INT32", "[instr]") {
|
||||
TEST_CASE("EXTRACT_INT32_CONSTANT", "[instr]") {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
TestFunction([i](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i),
|
||||
INT32_TYPE),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(
|
||||
b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i), INT32_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
|
||||
@@ -20,8 +20,9 @@ using xe::cpu::ppc::PPCContext;
|
||||
TEST_CASE("INSERT_INT8", "[instr]") {
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
TestFunction test([i](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
StoreVR(b, 3,
|
||||
b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -44,8 +45,9 @@ TEST_CASE("INSERT_INT8", "[instr]") {
|
||||
TEST_CASE("INSERT_INT16", "[instr]") {
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
TestFunction test([i](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT16_TYPE)));
|
||||
StoreVR(b, 3,
|
||||
b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT16_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -66,8 +68,9 @@ TEST_CASE("INSERT_INT16", "[instr]") {
|
||||
TEST_CASE("INSERT_INT32", "[instr]") {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
TestFunction test([i](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT32_TYPE)));
|
||||
StoreVR(b, 3,
|
||||
b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT32_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -19,8 +19,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = MakePermuteMask(0, 0, 0, 1, 0, 2, 0, 3);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4),
|
||||
LoadVR(b, 5), INT32_TYPE));
|
||||
StoreVR(b, 3,
|
||||
b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4), LoadVR(b, 5),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
@@ -36,8 +37,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = MakePermuteMask(1, 0, 1, 1, 1, 2, 1, 3);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4),
|
||||
LoadVR(b, 5), INT32_TYPE));
|
||||
StoreVR(b, 3,
|
||||
b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4), LoadVR(b, 5),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
@@ -53,8 +55,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = MakePermuteMask(0, 3, 0, 2, 0, 1, 0, 0);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4),
|
||||
LoadVR(b, 5), INT32_TYPE));
|
||||
StoreVR(b, 3,
|
||||
b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4), LoadVR(b, 5),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
@@ -70,8 +73,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = MakePermuteMask(1, 3, 1, 2, 1, 1, 1, 0);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4),
|
||||
LoadVR(b, 5), INT32_TYPE));
|
||||
StoreVR(b, 3,
|
||||
b.Permute(b.LoadConstantUint32(mask), LoadVR(b, 4), LoadVR(b, 5),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
})
|
||||
.Run(
|
||||
|
||||
@@ -20,8 +20,8 @@ namespace xe {
|
||||
namespace cpu {
|
||||
namespace sandbox {
|
||||
|
||||
using xe::cpu::ppc::PPCContext;
|
||||
using xe::cpu::Runtime;
|
||||
using xe::cpu::ppc::PPCContext;
|
||||
|
||||
// TODO(benvanik): simple memory? move more into core?
|
||||
|
||||
|
||||
@@ -16,9 +16,10 @@ using xe::cpu::ppc::PPCContext;
|
||||
|
||||
TEST_CASE("SHA_I8", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -70,9 +71,10 @@ TEST_CASE("SHA_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("SHA_I16", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -124,9 +126,10 @@ TEST_CASE("SHA_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("SHA_I32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Sha(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -178,8 +181,9 @@ TEST_CASE("SHA_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("SHA_I64", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.Sha(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
StoreGPR(b, 3,
|
||||
b.Sha(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -16,9 +16,10 @@ using xe::cpu::ppc::PPCContext;
|
||||
|
||||
TEST_CASE("SHL_I8", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -70,9 +71,10 @@ TEST_CASE("SHL_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("SHL_I16", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -124,9 +126,10 @@ TEST_CASE("SHL_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("SHL_I32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shl(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -178,8 +181,9 @@ TEST_CASE("SHL_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("SHL_I64", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.Shl(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
StoreGPR(b, 3,
|
||||
b.Shl(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -17,9 +17,10 @@ using xe::cpu::ppc::PPCContext;
|
||||
|
||||
TEST_CASE("SHR_I8", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT8_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -71,9 +72,10 @@ TEST_CASE("SHR_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("SHR_I16", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT16_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -125,9 +127,10 @@ TEST_CASE("SHR_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("SHR_I32", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Shr(b.Truncate(LoadGPR(b, 4), INT32_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -179,8 +182,9 @@ TEST_CASE("SHR_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("SHR_I64", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreGPR(b, 3, b.Shr(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
StoreGPR(b, 3,
|
||||
b.Shr(b.Truncate(LoadGPR(b, 4), INT64_TYPE),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -47,8 +47,9 @@ TEST_CASE("VECTOR_ADD_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I8_SAT_SIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -73,8 +74,9 @@ TEST_CASE("VECTOR_ADD_I8_SAT_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I8_SAT_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -124,8 +126,9 @@ TEST_CASE("VECTOR_ADD_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I16_SAT_SIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -150,8 +153,9 @@ TEST_CASE("VECTOR_ADD_I16_SAT_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I16_SAT_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -201,8 +205,9 @@ TEST_CASE("VECTOR_ADD_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I32_SAT_SIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_SATURATE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -236,8 +241,9 @@ TEST_CASE("VECTOR_ADD_I32_SAT_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_ADD_I32_SAT_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorAdd(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_SATURATE | ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -39,8 +39,9 @@ TEST_CASE("VECTOR_MAX_I8_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MAX_I8_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -75,8 +76,9 @@ TEST_CASE("VECTOR_MAX_I16_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MAX_I16_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -108,8 +110,9 @@ TEST_CASE("VECTOR_MAX_I32_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MAX_I32_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMax(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -39,8 +39,9 @@ TEST_CASE("VECTOR_MIN_I8_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MIN_I8_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT8_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -75,8 +76,9 @@ TEST_CASE("VECTOR_MIN_I16_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MIN_I16_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT16_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -108,8 +110,9 @@ TEST_CASE("VECTOR_MIN_I32_SIGNED", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_MIN_I32_UNSIGNED", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
StoreVR(b, 3,
|
||||
b.VectorMin(LoadVR(b, 4), LoadVR(b, 5), INT32_TYPE,
|
||||
ARITHMETIC_UNSIGNED));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -37,10 +37,12 @@ TEST_CASE("VECTOR_SHA_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHA_I8_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorSha(LoadVR(b, 4), b.LoadConstantVec128(vec128b(
|
||||
0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorSha(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128b(0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -76,9 +78,11 @@ TEST_CASE("VECTOR_SHA_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHA_I16_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorSha(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorSha(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128s(0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -122,12 +126,14 @@ TEST_CASE("VECTOR_SHA_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHA_I32_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorSha(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4, b.VectorSha(LoadVR(b, 5),
|
||||
b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorSha(LoadVR(b, 4), b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 4,
|
||||
b.VectorSha(LoadVR(b, 5), b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -37,10 +37,12 @@ TEST_CASE("VECTOR_SHL_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHL_I8_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShl(LoadVR(b, 4), b.LoadConstantVec128(vec128b(
|
||||
0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShl(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128b(0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -76,9 +78,11 @@ TEST_CASE("VECTOR_SHL_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHL_I16_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShl(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShl(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128s(0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -122,12 +126,14 @@ TEST_CASE("VECTOR_SHL_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHL_I32_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShl(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4, b.VectorShl(LoadVR(b, 5),
|
||||
b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShl(LoadVR(b, 4), b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 4,
|
||||
b.VectorShl(LoadVR(b, 5), b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
@@ -37,10 +37,12 @@ TEST_CASE("VECTOR_SHR_I8", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHR_I8_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShr(LoadVR(b, 4), b.LoadConstantVec128(vec128b(
|
||||
0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShr(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128b(0, 1, 2, 8, 4, 4, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15)),
|
||||
INT8_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -76,9 +78,11 @@ TEST_CASE("VECTOR_SHR_I16", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHR_I16_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShr(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShr(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128s(0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
@@ -122,12 +126,14 @@ TEST_CASE("VECTOR_SHR_I32", "[instr]") {
|
||||
|
||||
TEST_CASE("VECTOR_SHR_I32_CONSTANT", "[instr]") {
|
||||
TestFunction test([](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.VectorShr(LoadVR(b, 4),
|
||||
b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4, b.VectorShr(LoadVR(b, 5),
|
||||
b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 3,
|
||||
b.VectorShr(LoadVR(b, 4), b.LoadConstantVec128(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(
|
||||
b, 4,
|
||||
b.VectorShr(LoadVR(b, 5), b.LoadConstantVec128(vec128i(31, 16, 1, 32)),
|
||||
INT32_TYPE));
|
||||
b.Return();
|
||||
});
|
||||
test.Run(
|
||||
|
||||
Reference in New Issue
Block a user