diff options
| author | JosJuice <josjuice@gmail.com> | 2021-07-12 12:05:34 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2021-07-12 22:25:49 +0200 |
| commit | 8af5095ff4d8b4ede22f741ed08a67069134ffbb (patch) | |
| tree | 031a980a2f290f355d276c2450619d36e8991110 /Source/Core/VideoCommon/VertexLoaderARM64.cpp | |
| parent | 88fd9fd577ffc3c1af5a04cdf337ecd2990ccfe2 (diff) | |
JitArm64: Stop using hand-encoded logical immediates
Diffstat (limited to 'Source/Core/VideoCommon/VertexLoaderARM64.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexLoaderARM64.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/VertexLoaderARM64.cpp b/Source/Core/VideoCommon/VertexLoaderARM64.cpp index dc760b011b..e47dd6a74e 100644 --- a/Source/Core/VideoCommon/VertexLoaderARM64.cpp +++ b/Source/Core/VideoCommon/VertexLoaderARM64.cpp @@ -97,8 +97,9 @@ void VertexLoaderARM64::GetVertexAddr(int array, VertexComponentFormat attribute if (array == ARRAY_POSITION) { - EOR(scratch2_reg, scratch1_reg, 0, - attribute == VertexComponentFormat::Index8 ? 7 : 15); // 0xFF : 0xFFFF + EOR(scratch2_reg, scratch1_reg, + attribute == VertexComponentFormat::Index8 ? LogicalImm(0xFF, 32) : + LogicalImm(0xFFFF, 32)); m_skip_vertex = CBZ(scratch2_reg); } @@ -262,7 +263,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f REV16(scratch3_reg, scratch3_reg); // B - AND(scratch2_reg, scratch3_reg, 32, 4); + AND(scratch2_reg, scratch3_reg, LogicalImm(0x1F, 32)); ORR(scratch2_reg, ARM64Reg::WSP, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 3)); ORR(scratch2_reg, scratch2_reg, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSR, 5)); ORR(scratch1_reg, ARM64Reg::WSP, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 16)); @@ -300,7 +301,7 @@ void VertexLoaderARM64::ReadColor(VertexComponentFormat attribute, ColorFormat f UBFM(scratch1_reg, scratch3_reg, 4, 7); // G - AND(scratch2_reg, scratch3_reg, 32, 3); + AND(scratch2_reg, scratch3_reg, LogicalImm(0xF, 32)); ORR(scratch1_reg, scratch1_reg, scratch2_reg, ArithOption(scratch2_reg, ShiftType::LSL, 8)); // B @@ -413,7 +414,7 @@ void VertexLoaderARM64::GenerateVertexLoader() if (m_VtxDesc.low.PosMatIdx) { LDRB(IndexType::Unsigned, scratch1_reg, src_reg, m_src_ofs); - AND(scratch1_reg, scratch1_reg, 0, 5); + AND(scratch1_reg, scratch1_reg, LogicalImm(0x3F, 32)); STR(IndexType::Unsigned, scratch1_reg, dst_reg, m_dst_ofs); // Z-Freeze |
