diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-12-31 16:02:26 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-12-31 16:02:26 +0100 |
| commit | b0db8e1ae0db4379b8e177430c2564a26d9331f5 (patch) | |
| tree | eb6a112e2e062aa25996c93be3026735897c0177 /src | |
| parent | 3e0f2bfc4ae48228e1451d145cd4ac04cbf18be7 (diff) | |
| download | box64-b0db8e1ae0db4379b8e177430c2564a26d9331f5.tar.gz box64-b0db8e1ae0db4379b8e177430c2564a26d9331f5.zip | |
[ARM64_DYNAREC] Some more warning fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_emit_shift.c | 8 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_helper.h | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_emit_shift.c b/src/dynarec/arm64/dynarec_arm64_emit_shift.c index d69231ee..5b9e82af 100644 --- a/src/dynarec/arm64/dynarec_arm64_emit_shift.c +++ b/src/dynarec/arm64/dynarec_arm64_emit_shift.c @@ -309,7 +309,7 @@ void emit_shl8(dynarec_arm_t* dyn, int ninst, int s1, int s2, int s3, int s4) COMP_ZFSF(s1, 8) IFX(X_OF) { CMPSw_U12(s2, 1); // if s2==1 - IFX(X_SF && !arm64_flagm) {} else {LSRw(s3, s1, 7);} + IFX2(X_SF, && !arm64_flagm) {} else {LSRw(s3, s1, 7);} EORw_REG(s4, s3, xFlags); // CF is set if OF is asked CSELw(s4, s4, wZR, cEQ); BFIw(xFlags, s4, F_OF, 1); @@ -348,7 +348,7 @@ void emit_shl8c(dynarec_arm_t* dyn, int ninst, int s1, uint32_t c, int s3, int s COMP_ZFSF(s1, 8) IFX(X_OF) { if(c==1) { - IFX(X_SF && !arm64_flagm) {} else {LSRw(s3, s1, 7);} + IFX2(X_SF, && !arm64_flagm) {} else {LSRw(s3, s1, 7);} EORw_REG(s4, s3, xFlags); // CF is set if OF is asked BFIw(xFlags, s4, F_OF, 1); } else { @@ -570,7 +570,7 @@ void emit_shl16(dynarec_arm_t* dyn, int ninst, int s1, int s2, int s3, int s4) COMP_ZFSF(s1, 16) IFX(X_OF) { CMPSw_U12(s2, 1); // if s2==1 - IFX(X_SF && !arm64_flagm) {} else {LSRw(s3, s1, 15);} + IFX2(X_SF, && !arm64_flagm) {} else {LSRw(s3, s1, 15);} EORw_REG(s4, s3, xFlags); // CF is set if OF is asked CSELw(s4, s4, wZR, cEQ); BFIw(xFlags, s4, F_OF, 1); @@ -610,7 +610,7 @@ void emit_shl16c(dynarec_arm_t* dyn, int ninst, int s1, uint32_t c, int s3, int COMP_ZFSF(s1, 16) IFX(X_OF) { if(c==1) { - IFX(X_SF && !arm64_flagm) {} else {LSRw(s3, s1, 15);} + IFX2(X_SF, && !arm64_flagm) {} else {LSRw(s3, s1, 15);} EORw_REG(s4, s3, xFlags); // CF is set if OF is asked BFIw(xFlags, s4, F_OF, 1); } else { diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h index 9f5c6c50..de7a02e3 100644 --- a/src/dynarec/arm64/dynarec_arm64_helper.h +++ b/src/dynarec/arm64/dynarec_arm64_helper.h @@ -650,6 +650,7 @@ CBNZx(reg, j64) #define IFX(A) if((dyn->insts[ninst].x64.gen_flags&(A))) +#define IFX2(A, B) if((dyn->insts[ninst].x64.gen_flags&(A)) B) #define IFX_PENDOR0 if((dyn->insts[ninst].x64.gen_flags&(X_PEND) || !dyn->insts[ninst].x64.gen_flags)) #define IFXX(A) if((dyn->insts[ninst].x64.gen_flags==(A))) #define IFX2X(A, B) if((dyn->insts[ninst].x64.gen_flags==(A) || dyn->insts[ninst].x64.gen_flags==(B) || dyn->insts[ninst].x64.gen_flags==((A)|(B)))) |