summaryrefslogtreecommitdiff
path: root/deps/v8/src/s390/disasm-s390.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/s390/disasm-s390.cc')
-rw-r--r--deps/v8/src/s390/disasm-s390.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/deps/v8/src/s390/disasm-s390.cc b/deps/v8/src/s390/disasm-s390.cc
index 26079b9992..f33812096c 100644
--- a/deps/v8/src/s390/disasm-s390.cc
+++ b/deps/v8/src/s390/disasm-s390.cc
@@ -562,6 +562,9 @@ bool Decoder::DecodeTwoByte(Instruction* instr) {
case BKPT:
Format(instr, "bkpt");
break;
+ case LPR:
+ Format(instr, "lpr\t'r1, 'r2");
+ break;
default:
return false;
}
@@ -760,6 +763,9 @@ bool Decoder::DecodeFourByte(Instruction* instr) {
case MSR:
Format(instr, "msr\t'r5,'r6");
break;
+ case MSRKC:
+ Format(instr, "msrkc\t'r5,'r6,'r3");
+ break;
case LGBR:
Format(instr, "lgbr\t'r5,'r6");
break;
@@ -769,6 +775,9 @@ bool Decoder::DecodeFourByte(Instruction* instr) {
case MSGR:
Format(instr, "msgr\t'r5,'r6");
break;
+ case MSGRKC:
+ Format(instr, "msgrkc\t'r5,'r6,'r3");
+ break;
case DSGR:
Format(instr, "dsgr\t'r5,'r6");
break;
@@ -1036,6 +1045,12 @@ bool Decoder::DecodeFourByte(Instruction* instr) {
Format(instr, "trap4");
break;
}
+ case LPGR:
+ Format(instr, "lpgr\t'r1, 'r2");
+ break;
+ case LPGFR:
+ Format(instr, "lpgfr\t'r1,'r2");
+ break;
default:
return false;
}
@@ -1052,6 +1067,15 @@ bool Decoder::DecodeSixByte(Instruction* instr) {
Opcode opcode = instr->S390OpcodeValue();
switch (opcode) {
+ case DUMY:
+ Format(instr, "dumy\t'r1, 'd2 ( 'r2d, 'r3 )");
+ break;
+#define DECODE_VRR_C_INSTRUCTIONS(name, opcode_name, opcode_value) \
+ case opcode_name: \
+ Format(instr, #name "\t'f1,'f2,'f3"); \
+ break;
+ S390_VRR_C_OPCODE_LIST(DECODE_VRR_C_INSTRUCTIONS)
+#undef DECODE_VRR_C_INSTRUCTIONS
case LLILF:
Format(instr, "llilf\t'r1,'i7");
break;
@@ -1061,6 +1085,9 @@ bool Decoder::DecodeSixByte(Instruction* instr) {
case AFI:
Format(instr, "afi\t'r1,'i7");
break;
+ case AIH:
+ Format(instr, "aih\t'r1,'i7");
+ break;
case ASI:
Format(instr, "asi\t'd2('r3),'ic");
break;
@@ -1082,6 +1109,12 @@ bool Decoder::DecodeSixByte(Instruction* instr) {
case CLFI:
Format(instr, "clfi\t'r1,'i7");
break;
+ case CLIH:
+ Format(instr, "clih\t'r1,'i7");
+ break;
+ case CIH:
+ Format(instr, "cih\t'r1,'i2");
+ break;
case CFI:
Format(instr, "cfi\t'r1,'i2");
break;
@@ -1388,6 +1421,9 @@ bool Decoder::DecodeSixByte(Instruction* instr) {
case SQDB:
Format(instr, "sqdb\t'r1,'d1('r2d, 'r3)");
break;
+ case PFD:
+ Format(instr, "pfd\t'm1,'d2('r2d,'r3)");
+ break;
default:
return false;
}