mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 13:39:39 +01:00 
			
		
		
		
	an attempt to fix a bit more stuff in m68k
git-svn-id: trunk@794 -
This commit is contained in:
		
							parent
							
								
									90bae25f62
								
							
						
					
					
						commit
						bbfea4d03f
					
				@ -442,21 +442,16 @@ type
 | 
				
			|||||||
    function taicpu.spilling_get_operation_type(opnr: longint): topertype;
 | 
					    function taicpu.spilling_get_operation_type(opnr: longint): topertype;
 | 
				
			||||||
      begin
 | 
					      begin
 | 
				
			||||||
        case opcode of
 | 
					        case opcode of
 | 
				
			||||||
          A_MOVE, A_ADD:
 | 
					          A_MOVE, A_MOVEQ, A_ADD, A_ADDQ, A_SUB, A_SUBQ:
 | 
				
			||||||
            if opnr=0 then begin
 | 
					            if opnr=0 then begin
 | 
				
			||||||
              writeln('move/add write');
 | 
					//              writeln('move/etc write');
 | 
				
			||||||
              result:=operand_write;
 | 
					              result:=operand_write;
 | 
				
			||||||
            end else begin
 | 
					            end else begin
 | 
				
			||||||
              writeln('move/add read');
 | 
					//              writeln('move/etc read');
 | 
				
			||||||
              result:=operand_read;
 | 
					              result:=operand_read;
 | 
				
			||||||
            end;
 | 
					            end;
 | 
				
			||||||
          A_RTS:
 | 
					 | 
				
			||||||
            begin
 | 
					 | 
				
			||||||
              writeln('rts!');
 | 
					 | 
				
			||||||
              result:=operand_readwrite;
 | 
					 | 
				
			||||||
            end;
 | 
					 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
          writeln('other opcode: (faked value returned)',opnr);
 | 
					          writeln('other opcode: ',dword(opcode),' (faked value returned)',opnr);
 | 
				
			||||||
	  result:=operand_write;
 | 
						  result:=operand_write;
 | 
				
			||||||
        end;
 | 
					        end;
 | 
				
			||||||
	// fake
 | 
						// fake
 | 
				
			||||||
@ -466,7 +461,7 @@ type
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function spilling_create_load(const ref:treference;r:tregister): tai;
 | 
					    function spilling_create_load(const ref:treference;r:tregister): tai;
 | 
				
			||||||
      begin
 | 
					      begin
 | 
				
			||||||
        writeln('spilling_create_load');
 | 
					//        writeln('spilling_create_load');
 | 
				
			||||||
        case getregtype(r) of
 | 
					        case getregtype(r) of
 | 
				
			||||||
          R_INTREGISTER :
 | 
					          R_INTREGISTER :
 | 
				
			||||||
            result:=taicpu.op_ref_reg(A_MOVE,S_L,ref,r);
 | 
					            result:=taicpu.op_ref_reg(A_MOVE,S_L,ref,r);
 | 
				
			||||||
@ -496,7 +491,7 @@ type
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function spilling_create_store(r:tregister; const ref:treference): tai;
 | 
					    function spilling_create_store(r:tregister; const ref:treference): tai;
 | 
				
			||||||
      begin
 | 
					      begin
 | 
				
			||||||
        writeln('spilling_create_store');
 | 
					//        writeln('spilling_create_store');
 | 
				
			||||||
	case getregtype(r) of
 | 
						case getregtype(r) of
 | 
				
			||||||
	  R_INTREGISTER :
 | 
						  R_INTREGISTER :
 | 
				
			||||||
	    result:=taicpu.op_reg_ref(A_MOVE,S_L,r,ref);
 | 
						    result:=taicpu.op_reg_ref(A_MOVE,S_L,r,ref);
 | 
				
			||||||
 | 
				
			|||||||
@ -886,7 +886,7 @@ unit cgcpu;
 | 
				
			|||||||
      begin
 | 
					      begin
 | 
				
			||||||
         popaddress := false;
 | 
					         popaddress := false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	 writeln('concatcopy:',len);
 | 
					//	 writeln('concatcopy:',len);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         { this should never occur }
 | 
					         { this should never occur }
 | 
				
			||||||
         if len > 65535 then
 | 
					         if len > 65535 then
 | 
				
			||||||
 | 
				
			|||||||
@ -108,7 +108,7 @@ unit cpubase;
 | 
				
			|||||||
      { Available Superregisters }
 | 
					      { Available Superregisters }
 | 
				
			||||||
      {$i r68ksup.inc}
 | 
					      {$i r68ksup.inc}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      { No Subregisters }
 | 
					      { ? whatever... }
 | 
				
			||||||
      R_SUBWHOLE = R_SUBNONE;
 | 
					      R_SUBWHOLE = R_SUBNONE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      { Available Registers }
 | 
					      { Available Registers }
 | 
				
			||||||
@ -405,11 +405,11 @@ implementation
 | 
				
			|||||||
      begin
 | 
					      begin
 | 
				
			||||||
        case s of
 | 
					        case s of
 | 
				
			||||||
          OS_8,OS_S8:
 | 
					          OS_8,OS_S8:
 | 
				
			||||||
            cgsize2subreg:=R_SUBL;
 | 
					            cgsize2subreg:=R_SUBWHOLE;
 | 
				
			||||||
          OS_16,OS_S16:
 | 
					          OS_16,OS_S16:
 | 
				
			||||||
            cgsize2subreg:=R_SUBW;
 | 
					            cgsize2subreg:=R_SUBWHOLE;
 | 
				
			||||||
          OS_32,OS_S32:
 | 
					          OS_32,OS_S32:
 | 
				
			||||||
            cgsize2subreg:=R_SUBD;
 | 
					            cgsize2subreg:=R_SUBWHOLE;
 | 
				
			||||||
          else
 | 
					          else
 | 
				
			||||||
            internalerror(200301231);
 | 
					            internalerror(200301231);
 | 
				
			||||||
        end;
 | 
					        end;
 | 
				
			||||||
 | 
				
			|||||||
@ -345,7 +345,7 @@ unit cpupara;
 | 
				
			|||||||
                if (loc = LOC_REGISTER) and
 | 
					                if (loc = LOC_REGISTER) and
 | 
				
			||||||
                   (nextintreg <= RS_D7) then
 | 
					                   (nextintreg <= RS_D7) then
 | 
				
			||||||
                  begin
 | 
					                  begin
 | 
				
			||||||
		    writeln('loc register');
 | 
							    //writeln('loc register');
 | 
				
			||||||
                    paraloc^.loc := loc;
 | 
					                    paraloc^.loc := loc;
 | 
				
			||||||
                    { make sure we don't lose whether or not the type is signed }
 | 
					                    { make sure we don't lose whether or not the type is signed }
 | 
				
			||||||
                    if (paradef.deftype <> orddef) then
 | 
					                    if (paradef.deftype <> orddef) then
 | 
				
			||||||
@ -384,7 +384,7 @@ unit cpupara;
 | 
				
			|||||||
              end;
 | 
					              end;
 | 
				
			||||||
          end;
 | 
					          end;
 | 
				
			||||||
         result:=stack_offset;
 | 
					         result:=stack_offset;
 | 
				
			||||||
	 writeln('stack offset:',stack_offset);
 | 
					//	 writeln('stack offset:',stack_offset);
 | 
				
			||||||
      end;
 | 
					      end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user