Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: src/s390/macro-assembler-s390.h

Issue 1853973002: S390: Use FIEBRA/FIDBRA for FP Floor/Ceil (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/s390/disasm-s390.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ 6 #define V8_S390_MACRO_ASSEMBLER_S390_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/frames.h" 10 #include "src/frames.h"
(...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 Register scratch, DoubleRegister double_scratch); 1173 Register scratch, DoubleRegister double_scratch);
1174 1174
1175 // Floor a double and writes the value to the result register. 1175 // Floor a double and writes the value to the result register.
1176 // Go to exact if the conversion is exact (to be able to test -0), 1176 // Go to exact if the conversion is exact (to be able to test -0),
1177 // fall through calling code if an overflow occurred, else go to done. 1177 // fall through calling code if an overflow occurred, else go to done.
1178 // In return, input_high is loaded with high bits of input. 1178 // In return, input_high is loaded with high bits of input.
1179 void TryInt32Floor(Register result, DoubleRegister double_input, 1179 void TryInt32Floor(Register result, DoubleRegister double_input,
1180 Register input_high, Register scratch, 1180 Register input_high, Register scratch,
1181 DoubleRegister double_scratch, Label* done, Label* exact); 1181 DoubleRegister double_scratch, Label* done, Label* exact);
1182 1182
1183 // Perform ceiling of float in input_register and store in double_output.
1184 void FloatCeiling32(DoubleRegister double_output, DoubleRegister double_input,
1185 Register scratch, DoubleRegister double_scratch);
1186
1187 // Perform floor of float in input_register and store in double_output.
1188 void FloatFloor32(DoubleRegister double_output, DoubleRegister double_input,
1189 Register scratch);
1190
1191 // Perform ceiling of double in input_register and store in double_output.
1192 void FloatCeiling64(DoubleRegister double_output, DoubleRegister double_input,
1193 Register scratch, DoubleRegister double_scratch);
1194
1195 // Perform floor of double in input_register and store in double_output.
1196 void FloatFloor64(DoubleRegister double_output, DoubleRegister double_input,
1197 Register scratch);
1198
1199 // Performs a truncating conversion of a floating point number as used by 1183 // Performs a truncating conversion of a floating point number as used by
1200 // the JS bitwise operations. See ECMA-262 9.5: ToInt32. Goes to 'done' if it 1184 // the JS bitwise operations. See ECMA-262 9.5: ToInt32. Goes to 'done' if it
1201 // succeeds, otherwise falls through if result is saturated. On return 1185 // succeeds, otherwise falls through if result is saturated. On return
1202 // 'result' either holds answer, or is clobbered on fall through. 1186 // 'result' either holds answer, or is clobbered on fall through.
1203 // 1187 //
1204 // Only public for the test code in test-code-stubs-arm.cc. 1188 // Only public for the test code in test-code-stubs-arm.cc.
1205 void TryInlineTruncateDoubleToI(Register result, DoubleRegister input, 1189 void TryInlineTruncateDoubleToI(Register result, DoubleRegister input,
1206 Label* done); 1190 Label* done);
1207 1191
1208 // Performs a truncating conversion of a floating point number as used by 1192 // Performs a truncating conversion of a floating point number as used by
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1895 #define ACCESS_MASM(masm) \ 1879 #define ACCESS_MASM(masm) \
1896 masm->stop(__FILE_LINE__); \ 1880 masm->stop(__FILE_LINE__); \
1897 masm-> 1881 masm->
1898 #else 1882 #else
1899 #define ACCESS_MASM(masm) masm-> 1883 #define ACCESS_MASM(masm) masm->
1900 #endif 1884 #endif
1901 } // namespace internal 1885 } // namespace internal
1902 } // namespace v8 1886 } // namespace v8
1903 1887
1904 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ 1888 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/s390/disasm-s390.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698