Replacing LoadZero and LoadConstant with explicit types.
This commit is contained in:
@@ -43,8 +43,8 @@ TEST_CASE("EXTRACT_INT8_CONSTANT", "[instr]") {
|
||||
TestFunction(
|
||||
[i](HIRBuilder& b) {
|
||||
StoreGPR(b, 3,
|
||||
b.ZeroExtend(b.Extract(LoadVR(b, 4),
|
||||
b.LoadConstant(int8_t(i)), INT8_TYPE),
|
||||
b.ZeroExtend(b.Extract(LoadVR(b, 4), b.LoadConstantInt8(i),
|
||||
INT8_TYPE),
|
||||
INT64_TYPE));
|
||||
b.Return();
|
||||
}).Run([i](PPCContext* ctx) {
|
||||
@@ -83,11 +83,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.LoadConstant(int8_t(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([i](PPCContext* ctx) {
|
||||
ctx->r[4] = i;
|
||||
@@ -123,11 +122,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.LoadConstant(int8_t(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([i](PPCContext* ctx) {
|
||||
ctx->r[4] = i;
|
||||
|
||||
@@ -20,7 +20,7 @@ using xe::cpu::frontend::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.LoadConstant(i),
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT8_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
@@ -43,7 +43,7 @@ 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.LoadConstant(i),
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT16_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
@@ -64,7 +64,7 @@ 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.LoadConstant(i),
|
||||
StoreVR(b, 3, b.Insert(LoadVR(b, 4), b.LoadConstantInt32(i),
|
||||
b.Truncate(LoadGPR(b, 5), INT32_TYPE)));
|
||||
b.Return();
|
||||
});
|
||||
|
||||
@@ -19,8 +19,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = PERMUTE_MASK(0, 0, 0, 1, 0, 2, 0, 3);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstant(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([](PPCContext* ctx) {
|
||||
ctx->v[4] = vec128i(0, 1, 2, 3);
|
||||
@@ -34,8 +35,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = PERMUTE_MASK(1, 0, 1, 1, 1, 2, 1, 3);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstant(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([](PPCContext* ctx) {
|
||||
ctx->v[4] = vec128i(0, 1, 2, 3);
|
||||
@@ -49,8 +51,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = PERMUTE_MASK(0, 3, 0, 2, 0, 1, 0, 0);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstant(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([](PPCContext* ctx) {
|
||||
ctx->v[4] = vec128i(0, 1, 2, 3);
|
||||
@@ -64,8 +67,9 @@ TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
|
||||
{
|
||||
uint32_t mask = PERMUTE_MASK(1, 3, 1, 2, 1, 1, 1, 0);
|
||||
TestFunction([mask](HIRBuilder& b) {
|
||||
StoreVR(b, 3, b.Permute(b.LoadConstant(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([](PPCContext* ctx) {
|
||||
ctx->v[4] = vec128i(0, 1, 2, 3);
|
||||
|
||||
@@ -37,7 +37,7 @@ 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.LoadConstant(vec128b(
|
||||
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));
|
||||
@@ -75,7 +75,7 @@ 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.LoadConstant(vec128s(
|
||||
StoreVR(b, 3, b.VectorSha(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
@@ -120,12 +120,12 @@ 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.LoadConstant(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4,
|
||||
b.VectorSha(LoadVR(b, 5), b.LoadConstant(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,7 +37,7 @@ 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.LoadConstant(vec128b(
|
||||
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));
|
||||
@@ -75,7 +75,7 @@ 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.LoadConstant(vec128s(
|
||||
StoreVR(b, 3, b.VectorShl(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
@@ -120,12 +120,12 @@ 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.LoadConstant(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4,
|
||||
b.VectorShl(LoadVR(b, 5), b.LoadConstant(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,7 +37,7 @@ 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.LoadConstant(vec128b(
|
||||
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));
|
||||
@@ -75,7 +75,7 @@ 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.LoadConstant(vec128s(
|
||||
StoreVR(b, 3, b.VectorShr(LoadVR(b, 4), b.LoadConstantVec128(vec128s(
|
||||
0, 1, 8, 15, 15, 8, 1, 16)),
|
||||
INT16_TYPE));
|
||||
b.Return();
|
||||
@@ -120,12 +120,12 @@ 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.LoadConstant(vec128i(0, 1, 16, 31)),
|
||||
INT32_TYPE));
|
||||
StoreVR(b, 4,
|
||||
b.VectorShr(LoadVR(b, 5), b.LoadConstant(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