I'm stuck on this, A hint, a pointer to some code to look at would be helpful.

The emit_move_insn gets a GCC error.

This is an intrinsic I'm working on for GNAT on Alpha/VMS.

Success is a system.address parameter in the intrinsic containing "success_flag'address" where success_flag is a boolean type.

scratch contains either a 0 or 1 to be stored in success_flag.

So success is a 64 bit memory address pointing to some 8 bit location and I want to store a 0 or 1 at that location. It's got to be easy. Probably there are more complexities to take into account which are TBD. Right now I'm just trying to gain a simple and basic understanding of RTL.

The output from debug_rtx is shown below the call(s).

  debug_rtx (success);
(mem/v:DI (reg/v/f:DI 20 $20 [orig:77 success_flag ] [77]) [-1 S8 A0])
  debug_rtx (scratch);
(reg:SI 22 $22)
  emit_move_insn (success, scratch);

Reply via email to