Bug 1640587 part 5 - Transpile Int32PowResult. r=anba
authorJan de Mooij <jdemooij@mozilla.com>
Thu, 04 Jun 2020 09:29:39 +0000
changeset 597937 b445193d595b01e3351441d54019bdd9950ba541
parent 597936 b4e9103ffa2e9523c606a01e10258d0efeaca15c
child 597938 a934a2435d2ab0e29b781bbf08021829801b9980
push id13310
push userffxbld-merge
push dateMon, 29 Jun 2020 14:50:06 +0000
treeherdermozilla-beta@15a59a0afa5c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersanba
bugs1640587
milestone79.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1640587 part 5 - Transpile Int32PowResult. r=anba Differential Revision: https://phabricator.services.mozilla.com/D77779
js/src/jit/CacheIROps.yaml
js/src/jit/WarpCacheIRTranspiler.cpp
--- a/js/src/jit/CacheIROps.yaml
+++ b/js/src/jit/CacheIROps.yaml
@@ -1236,17 +1236,17 @@
   shared: true
   transpile: true
   args:
     lhs: Int32Id
     rhs: Int32Id
 
 - name: Int32PowResult
   shared: true
-  transpile: false
+  transpile: true
   args:
     lhs: Int32Id
     rhs: Int32Id
 
 - name: BigIntAddResult
   shared: true
   transpile: false
   args:
--- a/js/src/jit/WarpCacheIRTranspiler.cpp
+++ b/js/src/jit/WarpCacheIRTranspiler.cpp
@@ -932,16 +932,21 @@ bool WarpCacheIRTranspiler::emitInt32Div
   return emitInt32BinaryArithResult<MDiv>(lhsId, rhsId);
 }
 
 bool WarpCacheIRTranspiler::emitInt32ModResult(Int32OperandId lhsId,
                                                Int32OperandId rhsId) {
   return emitInt32BinaryArithResult<MMod>(lhsId, rhsId);
 }
 
+bool WarpCacheIRTranspiler::emitInt32PowResult(Int32OperandId lhsId,
+                                               Int32OperandId rhsId) {
+  return emitInt32BinaryArithResult<MPow>(lhsId, rhsId);
+}
+
 bool WarpCacheIRTranspiler::emitInt32BitOrResult(Int32OperandId lhsId,
                                                  Int32OperandId rhsId) {
   return emitInt32BinaryArithResult<MBitOr>(lhsId, rhsId);
 }
 
 bool WarpCacheIRTranspiler::emitInt32BitXorResult(Int32OperandId lhsId,
                                                   Int32OperandId rhsId) {
   return emitInt32BinaryArithResult<MBitXor>(lhsId, rhsId);