Index: src/compiler/s390/code-generator-s390.cc |
diff --git a/src/compiler/s390/code-generator-s390.cc b/src/compiler/s390/code-generator-s390.cc |
index 66fe6b72723b0302fb2465ad60ffca70df7a5d63..2bdb1ca62b6dc94a5520716fafaab6467d0be1d8 100644 |
--- a/src/compiler/s390/code-generator-s390.cc |
+++ b/src/compiler/s390/code-generator-s390.cc |
@@ -1584,6 +1584,25 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
case kS390_LoadWordS32: |
ASSEMBLE_LOAD_INTEGER(LoadW); |
break; |
+ case kS390_LoadReverse16: |
+ ASSEMBLE_LOAD_INTEGER(lrvh); |
+ break; |
+ case kS390_LoadReverse32: |
+ ASSEMBLE_LOAD_INTEGER(lrv); |
+ break; |
+ case kS390_LoadReverse64: |
+ ASSEMBLE_LOAD_INTEGER(lrvg); |
+ break; |
+ case kS390_LoadReverse16RR: |
+ __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
+ __ rll(i.OutputRegister(), i.OutputRegister(), Operand(16)); |
+ break; |
+ case kS390_LoadReverse32RR: |
+ __ lrvr(i.OutputRegister(), i.InputRegister(0)); |
+ break; |
+ case kS390_LoadReverse64RR: |
+ __ lrvgr(i.OutputRegister(), i.InputRegister(0)); |
+ break; |
#if V8_TARGET_ARCH_S390X |
case kS390_LoadWord64: |
ASSEMBLE_LOAD_INTEGER(lg); |
@@ -1609,6 +1628,15 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
ASSEMBLE_STORE_INTEGER(StoreP); |
break; |
#endif |
+ case kS390_StoreReverse16: |
+ ASSEMBLE_STORE_INTEGER(strvh); |
+ break; |
+ case kS390_StoreReverse32: |
+ ASSEMBLE_STORE_INTEGER(strv); |
+ break; |
+ case kS390_StoreReverse64: |
+ ASSEMBLE_STORE_INTEGER(strvg); |
+ break; |
case kS390_StoreFloat32: |
ASSEMBLE_STORE_FLOAT32(); |
break; |