Skip to content

Commit b73663a

Browse files
committed
8351155: C1/C2: Remove 32-bit x86 specific FP rounding support
Reviewed-by: vlivanov, kvn
1 parent 1bd0ce1 commit b73663a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+34
-547
lines changed

src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@ enum {
3232
pd_hi_word_offset_in_bytes = BytesPerWord
3333
};
3434

35-
// explicit rounding operations are required to implement the strictFP mode
36-
enum {
37-
pd_strict_fp_requires_explicit_rounding = false
38-
};
39-
4035
// FIXME: There are no callee-saved
4136

4237
// registers

src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ void LIRGenerator::do_ArithmeticOp_FPU(ArithmeticOp* x) {
407407

408408
arithmetic_op_fpu(x->op(), reg, left.result(), right.result());
409409

410-
set_result(x, round_item(reg));
410+
set_result(x, reg);
411411
}
412412

413413
// for _ladd, _lmul, _lsub, _ldiv, _lrem

src/hotspot/cpu/aarch64/matcher_aarch64.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@
115115
// C code as the Java calling convention forces doubles to be aligned.
116116
static const bool misaligned_doubles_ok = true;
117117

118-
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
119-
static const bool strict_fp_requires_explicit_rounding = false;
120-
121118
// Are floats converted to double when stored to stack during
122119
// deoptimization?
123120
static constexpr bool float_in_double() { return false; }

src/hotspot/cpu/arm/arm.ad

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4510,18 +4510,6 @@ instruct unnecessary_membar_volatile() %{
45104510
%}
45114511

45124512
//----------Register Move Instructions-----------------------------------------
4513-
// instruct roundDouble_nop(regD dst) %{
4514-
// match(Set dst (RoundDouble dst));
4515-
// ins_pipe(empty);
4516-
// %}
4517-
4518-
4519-
// instruct roundFloat_nop(regF dst) %{
4520-
// match(Set dst (RoundFloat dst));
4521-
// ins_pipe(empty);
4522-
// %}
4523-
4524-
45254513

45264514
// Cast Index to Pointer for unsafe natives
45274515
instruct castX2P(iRegX src, iRegP dst) %{

src/hotspot/cpu/arm/c1_Defs_arm.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ enum {
3131
pd_hi_word_offset_in_bytes = BytesPerWord
3232
};
3333

34-
// explicit rounding operations are required to implement the strictFP mode
35-
enum {
36-
pd_strict_fp_requires_explicit_rounding = false
37-
};
38-
3934
#ifdef __SOFTFP__
4035
#define SOFT(n) n
4136
#define VFP(n)

src/hotspot/cpu/arm/matcher_arm.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@
101101
// Java calling convention forces doubles to be aligned.
102102
static const bool misaligned_doubles_ok = false;
103103

104-
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
105-
static const bool strict_fp_requires_explicit_rounding = false;
106-
107104
// Are floats converted to double when stored to stack during deoptimization?
108105
// ARM does not handle callee-save floats.
109106
static constexpr bool float_in_double() {

src/hotspot/cpu/ppc/c1_Defs_ppc.hpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,6 @@ enum {
3838
};
3939

4040

41-
// Explicit rounding operations are not required to implement the strictFP mode.
42-
enum {
43-
pd_strict_fp_requires_explicit_rounding = false
44-
};
45-
46-
4741
// registers
4842
enum {
4943
pd_nof_cpu_regs_frame_map = 32, // Number of registers used during code emission.

src/hotspot/cpu/ppc/matcher_ppc.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@
115115
// Java calling convention forces doubles to be aligned.
116116
static const bool misaligned_doubles_ok = true;
117117

118-
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
119-
static const bool strict_fp_requires_explicit_rounding = false;
120-
121118
// Do floats take an entire double register or just half?
122119
//
123120
// A float occupies a ppc64 double register. For the allocator, a

src/hotspot/cpu/ppc/ppc.ad

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9537,28 +9537,6 @@ instruct sqrtF_reg(regF dst, regF src) %{
95379537
ins_pipe(pipe_class_default);
95389538
%}
95399539

9540-
instruct roundDouble_nop(regD dst) %{
9541-
match(Set dst (RoundDouble dst));
9542-
ins_cost(0);
9543-
9544-
format %{ " -- \t// RoundDouble not needed - empty" %}
9545-
size(0);
9546-
// PPC results are already "rounded" (i.e., normal-format IEEE).
9547-
ins_encode( /*empty*/ );
9548-
ins_pipe(pipe_class_default);
9549-
%}
9550-
9551-
instruct roundFloat_nop(regF dst) %{
9552-
match(Set dst (RoundFloat dst));
9553-
ins_cost(0);
9554-
9555-
format %{ " -- \t// RoundFloat not needed - empty" %}
9556-
size(0);
9557-
// PPC results are already "rounded" (i.e., normal-format IEEE).
9558-
ins_encode( /*empty*/ );
9559-
ins_pipe(pipe_class_default);
9560-
%}
9561-
95629540

95639541
// Multiply-Accumulate
95649542
// src1 * src2 + src3

src/hotspot/cpu/riscv/c1_Defs_riscv.hpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@ enum {
3232
pd_hi_word_offset_in_bytes = BytesPerWord
3333
};
3434

35-
// explicit rounding operations are required to implement the strictFP mode
36-
enum {
37-
pd_strict_fp_requires_explicit_rounding = false
38-
};
39-
4035
// registers
4136
enum {
4237
pd_nof_cpu_regs_frame_map = Register::number_of_registers, // number of registers used during code emission

0 commit comments

Comments
 (0)