@@ -8040,6 +8040,25 @@ void Assembler::vzeroupper_uncached() {
8040
8040
}
8041
8041
}
8042
8042
8043
+ void Assembler::fld_x(Address adr) {
8044
+ InstructionMark im(this);
8045
+ emit_int8((unsigned char)0xDB);
8046
+ emit_operand32(rbp, adr);
8047
+ }
8048
+
8049
+ void Assembler::fstp_x(Address adr) {
8050
+ InstructionMark im(this);
8051
+ emit_int8((unsigned char)0xDB);
8052
+ emit_operand32(rdi, adr);
8053
+ }
8054
+
8055
+ void Assembler::emit_operand32(Register reg, Address adr) {
8056
+ assert(reg->encoding() < 8, "no extended registers");
8057
+ assert(!adr.base_needs_rex() && !adr.index_needs_rex(), "no extended registers");
8058
+ emit_operand(reg, adr._base, adr._index, adr._scale, adr._disp,
8059
+ adr._rspec);
8060
+ }
8061
+
8043
8062
#ifndef _LP64
8044
8063
// 32bit only pieces of the assembler
8045
8064
@@ -9860,25 +9879,6 @@ void Assembler::decq(Address dst) {
9860
9879
emit_operand(rcx, dst);
9861
9880
}
9862
9881
9863
- void Assembler::fld_x(Address adr) {
9864
- InstructionMark im(this);
9865
- emit_int8((unsigned char)0xDB);
9866
- emit_operand32(rbp, adr);
9867
- }
9868
-
9869
- void Assembler::fstp_x(Address adr) {
9870
- InstructionMark im(this);
9871
- emit_int8((unsigned char)0xDB);
9872
- emit_operand32(rdi, adr);
9873
- }
9874
-
9875
- void Assembler::emit_operand32(Register reg, Address adr) {
9876
- assert(reg->encoding() < 8, "no extended registers");
9877
- assert(!adr.base_needs_rex() && !adr.index_needs_rex(), "no extended registers");
9878
- emit_operand(reg, adr._base, adr._index, adr._scale, adr._disp,
9879
- adr._rspec);
9880
- }
9881
-
9882
9882
void Assembler::fxrstor(Address src) {
9883
9883
emit_int24(get_prefixq(src), 0x0F, (unsigned char)0xAE);
9884
9884
emit_operand(as_Register(1), src);
0 commit comments