1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-02 20:30:00 +00:00

Normalise macros, remove unused AssertEqualOperationNameO.

This commit is contained in:
Thomas Harte 2022-04-09 21:25:00 -04:00
parent 5177fe1db7
commit 21328d9e37

View File

@ -58,9 +58,6 @@ void AssertEqualOperationName(NSString *lhs, NSString *rhs, Instruction instruct
XCTAssertEqualObjects(lhs, rhs); XCTAssertEqualObjects(lhs, rhs);
} }
void AssertEqualOperationNameO(NSString *lhs, NSString *rhs, Instruction instruction) {
AssertEqualOperationName(lhs, rhs, instruction, NamingConvention::ApplyO);
}
void AssertEqualOperationNameE(NSString *lhs, NSString *rhs, Instruction instruction) { void AssertEqualOperationNameE(NSString *lhs, NSString *rhs, Instruction instruction) {
AssertEqualOperationName(lhs, rhs, instruction, NamingConvention::ApplyE); AssertEqualOperationName(lhs, rhs, instruction, NamingConvention::ApplyE);
} }
@ -102,7 +99,6 @@ NSString *conditionreg(uint32_t code) {
return [NSString stringWithFormat:@"cr%d", code]; return [NSString stringWithFormat:@"cr%d", code];
} }
NSString *offset(Instruction instruction) { NSString *offset(Instruction instruction) {
NSString *const hexPart = [NSString stringWithFormat:@"%s%X", (instruction.d() < 0) ? "-0x" : "0x", abs(instruction.d())]; NSString *const hexPart = [NSString stringWithFormat:@"%s%X", (instruction.d() < 0) ? "-0x" : "0x", abs(instruction.d())];
@ -117,16 +113,6 @@ NSString *offset(Instruction instruction) {
@implementation DingusdevPowerPCTests @implementation DingusdevPowerPCTests
- (void)testABDInstruction:(Instruction)instruction columns:(NSArray<NSString *> *)columns testZero:(BOOL)testZero {
NSString *const rA = (instruction.rA() || !testZero) ? [NSString stringWithFormat:@"r%d", instruction.rA()] : @"0";
XCTAssertEqualObjects(rA, columns[4]);
AssertEqualR(columns[3], instruction.rD());
if([columns count] > 5) {
AssertEqualR(columns[5], instruction.rB());
}
}
- (void)testDecoding { - (void)testDecoding {
NSData *const testData = NSData *const testData =
[NSData dataWithContentsOfURL: [NSData dataWithContentsOfURL:
@ -589,51 +575,65 @@ NSString *offset(Instruction instruction) {
#undef ArithImm #undef ArithImm
#define ABCz(x) \ #define DAB(x) \
case Operation::x: \ case Operation::x: \
AssertEqualOperationName(operation, @#x); \ AssertEqualOperationName(operation, @#x); \
[self testABDInstruction:instruction columns:columns testZero:YES]; \ AssertEqualR(columns[3], instruction.rD()); \
AssertEqualR(columns[4], instruction.rA(), false); \
AssertEqualR(columns[5], instruction.rB()); \
break; break;
ABCz(lwzx); DAB(lwzx);
ABCz(lwzux); DAB(lwzux);
ABCz(lbzx); DAB(lbzx);
ABCz(lbzux); DAB(lbzux);
ABCz(lhzx); DAB(lhzx);
ABCz(lhzux); DAB(lhzux);
ABCz(lhax); DAB(lhax);
ABCz(lhaux); DAB(lhaux);
ABCz(lhbrx); DAB(lhbrx);
ABCz(lwbrx); DAB(lwbrx);
ABCz(lwarx); DAB(lwarx);
ABCz(eciwx); DAB(eciwx);
ABCz(lswx); DAB(lswx);
ABCz(lwa); DAB(lwa);
ABCz(lwaux); DAB(lwaux);
ABCz(lwax); DAB(lwax);
#undef ABCz #undef DAB
#define DAe(x) \
case Operation::x: \
AssertEqualOperationNameOE(operation, @#x, instruction); \
AssertEqualR(columns[3], instruction.rD()); \
AssertEqualR(columns[4], instruction.rA()); \
break;
DAe(negx);
DAe(subfzex);
DAe(subfmex);
DAe(absx);
DAe(nabsx);
DAe(addzex);
DAe(addmex);
#undef DAe
#define DABe(x) \ #define DABe(x) \
case Operation::x: \ case Operation::x: \
AssertEqualOperationNameOE(operation, @#x, instruction); \ AssertEqualOperationNameOE(operation, @#x, instruction); \
[self testABDInstruction:instruction columns:columns testZero:NO]; \ AssertEqualR(columns[3], instruction.rD()); \
AssertEqualR(columns[4], instruction.rA()); \
AssertEqualR(columns[5], instruction.rB()); \
break; break;
DABe(subfcx); DABe(subfcx);
DABe(subfx); DABe(subfx);
DABe(negx);
DABe(subfex); DABe(subfex);
DABe(subfzex);
DABe(subfmex);
DABe(dozx); DABe(dozx);
DABe(absx);
DABe(nabsx);
DABe(addx); DABe(addx);
DABe(addcx); DABe(addcx);
DABe(addex); DABe(addex);
DABe(addmex);
DABe(addzex);
DABe(mulhwx); DABe(mulhwx);
DABe(mulhwux); DABe(mulhwux);
DABe(mulx); DABe(mulx);