Adding the first instructions, mfspr/mtspr.
This commit is contained in:
@@ -25,7 +25,7 @@ namespace x64 {
|
||||
|
||||
// // Integer load (A-13)
|
||||
|
||||
// XEEMITTER(lbz, 0x88000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lbz, 0x88000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -43,7 +43,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lbzu, 0x8C000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lbzu, 0x8C000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // RT <- i56.0 || MEM(EA, 1)
|
||||
// // RA <- EA
|
||||
@@ -57,7 +57,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lbzux, 0x7C0000EE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lbzux, 0x7C0000EE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // RT <- i56.0 || MEM(EA, 1)
|
||||
// // RA <- EA
|
||||
@@ -70,7 +70,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lbzx, 0x7C0000AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lbzx, 0x7C0000AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -88,7 +88,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ld, 0xE8000000, DS )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ld, 0xE8000000, DS )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -106,7 +106,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ldu, 0xE8000001, DS )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ldu, 0xE8000001, DS )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(DS || 0b00)
|
||||
// // RT <- MEM(EA, 8)
|
||||
// // RA <- EA
|
||||
@@ -120,17 +120,17 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ldux, 0x7C00006A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ldux, 0x7C00006A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ldx, 0x7C00002A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ldx, 0x7C00002A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lha, 0xA8000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lha, 0xA8000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -149,17 +149,17 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhau, 0xAC000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhau, 0xAC000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhaux, 0x7C0002EE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhaux, 0x7C0002EE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhax, 0x7C0002AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhax, 0x7C0002AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -178,7 +178,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhz, 0xA0000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhz, 0xA0000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -196,7 +196,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhzu, 0xA4000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhzu, 0xA4000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // RT <- i48.0 || MEM(EA, 2)
|
||||
// // RA <- EA
|
||||
@@ -210,7 +210,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhzux, 0x7C00026E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhzux, 0x7C00026E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // RT <- i48.0 || MEM(EA, 2)
|
||||
// // RA <- EA
|
||||
@@ -223,7 +223,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lhzx, 0x7C00022E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhzx, 0x7C00022E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -241,7 +241,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwa, 0xE8000002, DS )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwa, 0xE8000002, DS )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -260,7 +260,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwaux, 0x7C0002EA, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwaux, 0x7C0002EA, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // RT <- EXTS(MEM(EA, 4))
|
||||
// // RA <- EA
|
||||
@@ -274,7 +274,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwax, 0x7C0002AA, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwax, 0x7C0002AA, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -293,7 +293,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwz, 0x80000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwz, 0x80000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -311,7 +311,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwzu, 0x84000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwzu, 0x84000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // RT <- i32.0 || MEM(EA, 4)
|
||||
// // RA <- EA
|
||||
@@ -325,7 +325,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwzux, 0x7C00006E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwzux, 0x7C00006E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // RT <- i32.0 || MEM(EA, 4)
|
||||
// // RA <- EA
|
||||
@@ -338,7 +338,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwzx, 0x7C00002E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwzx, 0x7C00002E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -359,7 +359,7 @@ namespace x64 {
|
||||
|
||||
// // Integer store (A-14)
|
||||
|
||||
// XEEMITTER(stb, 0x98000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stb, 0x98000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -377,7 +377,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stbu, 0x9C000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stbu, 0x9C000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // MEM(EA, 1) <- (RS)[56:63]
|
||||
// // RA <- EA
|
||||
@@ -391,7 +391,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stbux, 0x7C0001EE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stbux, 0x7C0001EE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 1) <- (RS)[56:63]
|
||||
// // RA <- EA
|
||||
@@ -404,7 +404,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stbx, 0x7C0001AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stbx, 0x7C0001AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -422,7 +422,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(std, 0xF8000000, DS )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(std, 0xF8000000, DS )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -440,7 +440,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stdu, 0xF8000001, DS )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stdu, 0xF8000001, DS )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(DS || 0b00)
|
||||
// // MEM(EA, 8) <- (RS)
|
||||
// // RA <- EA
|
||||
@@ -454,7 +454,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stdux, 0x7C00016A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stdux, 0x7C00016A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -472,7 +472,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stdx, 0x7C00012A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stdx, 0x7C00012A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 8) <- (RS)
|
||||
// // RA <- EA
|
||||
@@ -485,7 +485,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(sth, 0xB0000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(sth, 0xB0000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -503,7 +503,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(sthu, 0xB4000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(sthu, 0xB4000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // MEM(EA, 2) <- (RS)[48:63]
|
||||
// // RA <- EA
|
||||
@@ -517,7 +517,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(sthux, 0x7C00036E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(sthux, 0x7C00036E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 2) <- (RS)[48:63]
|
||||
// // RA <- EA
|
||||
@@ -530,7 +530,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(sthx, 0x7C00032E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(sthx, 0x7C00032E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -548,7 +548,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stw, 0x90000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stw, 0x90000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -566,7 +566,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stwu, 0x94000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stwu, 0x94000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // MEM(EA, 4) <- (RS)[32:63]
|
||||
// // RA <- EA
|
||||
@@ -580,7 +580,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stwux, 0x7C00016E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stwux, 0x7C00016E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 4) <- (RS)[32:63]
|
||||
// // RA <- EA
|
||||
@@ -593,7 +593,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stwx, 0x7C00012E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stwx, 0x7C00012E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -614,32 +614,32 @@ namespace x64 {
|
||||
|
||||
// // Integer load and store with byte reverse (A-1
|
||||
|
||||
// XEEMITTER(lhbrx, 0x7C00062C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lhbrx, 0x7C00062C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwbrx, 0x7C00042C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwbrx, 0x7C00042C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ldbrx, 0x7C000428, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ldbrx, 0x7C000428, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(sthbrx, 0x7C00072C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(sthbrx, 0x7C00072C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stwbrx, 0x7C00052C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stwbrx, 0x7C00052C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stdbrx, 0x7C000528, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stdbrx, 0x7C000528, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
@@ -647,12 +647,12 @@ namespace x64 {
|
||||
|
||||
// // Integer load and store multiple (A-16)
|
||||
|
||||
// XEEMITTER(lmw, 0xB8000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lmw, 0xB8000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stmw, 0xBC000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stmw, 0xBC000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
@@ -660,22 +660,22 @@ namespace x64 {
|
||||
|
||||
// // Integer load and store string (A-17)
|
||||
|
||||
// XEEMITTER(lswi, 0x7C0004AA, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lswi, 0x7C0004AA, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lswx, 0x7C00042A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lswx, 0x7C00042A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stswi, 0x7C0005AA, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stswi, 0x7C0005AA, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stswx, 0x7C00052A, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stswx, 0x7C00052A, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
@@ -683,22 +683,22 @@ namespace x64 {
|
||||
|
||||
// // Memory synchronization (A-18)
|
||||
|
||||
// XEEMITTER(eieio, 0x7C0006AC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(eieio, 0x7C0006AC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(isync, 0x4C00012C, XL )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(isync, 0x4C00012C, XL )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(ldarx, 0x7C0000A8, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(ldarx, 0x7C0000A8, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lwarx, 0x7C000028, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lwarx, 0x7C000028, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -721,12 +721,12 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stdcx, 0x7C0001AD, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stdcx, 0x7C0001AD, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// XEINSTRNOTIMPLEMENTED();
|
||||
// return 1;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stwcx, 0x7C00012D, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stwcx, 0x7C00012D, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -752,7 +752,7 @@ namespace x64 {
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
@@ -760,7 +760,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
|
||||
// // Floating-point load (A-19)
|
||||
|
||||
// XEEMITTER(lfd, 0xC8000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfd, 0xC8000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -779,7 +779,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfdu, 0xCC000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfdu, 0xCC000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // FRT <- MEM(EA, 8)
|
||||
// // RA <- EA
|
||||
@@ -793,7 +793,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfdux, 0x7C0004EE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfdux, 0x7C0004EE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // FRT <- MEM(EA, 8)
|
||||
// // RA <- EA
|
||||
@@ -807,7 +807,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfdx, 0x7C0004AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfdx, 0x7C0004AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -826,7 +826,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfs, 0xC0000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfs, 0xC0000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -845,7 +845,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfsu, 0xC4000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfsu, 0xC4000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // FRT <- DOUBLE(MEM(EA, 4))
|
||||
// // RA <- EA
|
||||
@@ -859,7 +859,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfsux, 0x7C00046E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfsux, 0x7C00046E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // FRT <- DOUBLE(MEM(EA, 4))
|
||||
// // RA <- EA
|
||||
@@ -873,7 +873,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(lfsx, 0x7C00042E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(lfsx, 0x7C00042E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -895,7 +895,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
|
||||
// // Floating-point store (A-20)
|
||||
|
||||
// XEEMITTER(stfd, 0xD8000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfd, 0xD8000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -914,7 +914,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfdu, 0xDC000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfdu, 0xDC000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // MEM(EA, 8) <- (FRS)
|
||||
// // RA <- EA
|
||||
@@ -929,7 +929,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfdux, 0x7C0005EE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfdux, 0x7C0005EE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 8) <- (FRS)
|
||||
// // RA <- EA
|
||||
@@ -943,7 +943,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfdx, 0x7C0005AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfdx, 0x7C0005AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -962,7 +962,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfiwx, 0x7C0007AE, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfiwx, 0x7C0007AE, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -981,7 +981,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfs, 0xD0000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfs, 0xD0000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -1000,7 +1000,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfsu, 0xD4000000, D )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfsu, 0xD4000000, D )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + EXTS(D)
|
||||
// // MEM(EA, 4) <- SINGLE(FRS)
|
||||
// // RA <- EA
|
||||
@@ -1015,7 +1015,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfsux, 0x7C00056E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfsux, 0x7C00056E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // EA <- (RA) + (RB)
|
||||
// // MEM(EA, 4) <- SINGLE(FRS)
|
||||
// // RA <- EA
|
||||
@@ -1029,7 +1029,7 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
// return 0;
|
||||
// }
|
||||
|
||||
// XEEMITTER(stfsx, 0x7C00052E, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
// XEEMITTER(stfsx, 0x7C00052E, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// // if RA = 0 then
|
||||
// // b <- 0
|
||||
// // else
|
||||
@@ -1051,35 +1051,35 @@ XEEMITTER(sync, 0x7C0004AC, X )(X64Emitter& e, Compiler& c, InstrData&
|
||||
|
||||
// Cache management (A-27)
|
||||
|
||||
XEEMITTER(dcbf, 0x7C0000AC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(dcbf, 0x7C0000AC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
|
||||
XEEMITTER(dcbst, 0x7C00006C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(dcbst, 0x7C00006C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
|
||||
XEEMITTER(dcbt, 0x7C00022C, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(dcbt, 0x7C00022C, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// No-op for now.
|
||||
// TODO(benvanik): use @llvm.prefetch
|
||||
return 0;
|
||||
}
|
||||
|
||||
XEEMITTER(dcbtst, 0x7C0001EC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(dcbtst, 0x7C0001EC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// No-op for now.
|
||||
// TODO(benvanik): use @llvm.prefetch
|
||||
return 0;
|
||||
}
|
||||
|
||||
XEEMITTER(dcbz, 0x7C0007EC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(dcbz, 0x7C0007EC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
// or dcbz128 0x7C2007EC
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
|
||||
XEEMITTER(icbi, 0x7C0007AC, X )(X64Emitter& e, Compiler& c, InstrData& i) {
|
||||
XEEMITTER(icbi, 0x7C0007AC, X )(X64Emitter& e, X86Compiler& c, InstrData& i) {
|
||||
XEINSTRNOTIMPLEMENTED();
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user