< prev index next >

src/cpu/aarch64/vm/aarch64.ad

Print this page




4425     __ mov(dst_reg, zr);
4426   %}
4427 
4428   enc_class aarch64_enc_mov_p1(iRegP dst, immP_1 src) %{
4429     MacroAssembler _masm(&cbuf);
4430     Register dst_reg = as_Register($dst$$reg);
4431     __ mov(dst_reg, (u_int64_t)1);
4432   %}
4433 
4434   enc_class aarch64_enc_mov_poll_page(iRegP dst, immPollPage src) %{
4435     MacroAssembler _masm(&cbuf);
4436     address page = (address)$src$$constant;
4437     Register dst_reg = as_Register($dst$$reg);
4438     unsigned long off;
4439     __ adrp(dst_reg, Address(page, relocInfo::poll_type), off);
4440     assert(off == 0, "assumed offset == 0");
4441   %}
4442 
4443   enc_class aarch64_enc_mov_byte_map_base(iRegP dst, immByteMapBase src) %{
4444     MacroAssembler _masm(&cbuf);
4445     address page = (address)$src$$constant;
4446     Register dst_reg = as_Register($dst$$reg);
4447     unsigned long off;
4448     __ adrp(dst_reg, ExternalAddress(page), off);
4449     assert(off == 0, "assumed offset == 0");
4450   %}
4451 
4452   enc_class aarch64_enc_mov_n(iRegN dst, immN src) %{
4453     MacroAssembler _masm(&cbuf);
4454     Register dst_reg = as_Register($dst$$reg);
4455     address con = (address)$src$$constant;
4456     if (con == NULL) {
4457       ShouldNotReachHere();
4458     } else {
4459       relocInfo::relocType rtype = $src->constant_reloc();
4460       assert(rtype == relocInfo::oop_type, "unexpected reloc type");
4461       __ set_narrow_oop(dst_reg, (jobject)con);
4462     }
4463   %}
4464 
4465   enc_class aarch64_enc_mov_n0(iRegN dst, immN0 src) %{
4466     MacroAssembler _masm(&cbuf);
4467     Register dst_reg = as_Register($dst$$reg);
4468     __ mov(dst_reg, zr);
4469   %}




4425     __ mov(dst_reg, zr);
4426   %}
4427 
4428   enc_class aarch64_enc_mov_p1(iRegP dst, immP_1 src) %{
4429     MacroAssembler _masm(&cbuf);
4430     Register dst_reg = as_Register($dst$$reg);
4431     __ mov(dst_reg, (u_int64_t)1);
4432   %}
4433 
4434   enc_class aarch64_enc_mov_poll_page(iRegP dst, immPollPage src) %{
4435     MacroAssembler _masm(&cbuf);
4436     address page = (address)$src$$constant;
4437     Register dst_reg = as_Register($dst$$reg);
4438     unsigned long off;
4439     __ adrp(dst_reg, Address(page, relocInfo::poll_type), off);
4440     assert(off == 0, "assumed offset == 0");
4441   %}
4442 
4443   enc_class aarch64_enc_mov_byte_map_base(iRegP dst, immByteMapBase src) %{
4444     MacroAssembler _masm(&cbuf);
4445     __ load_byte_map_base($dst$$Register);




4446   %}
4447 
4448   enc_class aarch64_enc_mov_n(iRegN dst, immN src) %{
4449     MacroAssembler _masm(&cbuf);
4450     Register dst_reg = as_Register($dst$$reg);
4451     address con = (address)$src$$constant;
4452     if (con == NULL) {
4453       ShouldNotReachHere();
4454     } else {
4455       relocInfo::relocType rtype = $src->constant_reloc();
4456       assert(rtype == relocInfo::oop_type, "unexpected reloc type");
4457       __ set_narrow_oop(dst_reg, (jobject)con);
4458     }
4459   %}
4460 
4461   enc_class aarch64_enc_mov_n0(iRegN dst, immN0 src) %{
4462     MacroAssembler _masm(&cbuf);
4463     Register dst_reg = as_Register($dst$$reg);
4464     __ mov(dst_reg, zr);
4465   %}


< prev index next >