~ubuntu-branches/ubuntu/feisty/fpc/feisty

« back to all changes in this revision

Viewing changes to compiler/ncgadd.pas

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2007-01-27 20:08:50 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070127200850-9mrptaqqjsx9nwa7
Tags: 2.0.4-5
* Fixed Build-Depends.
* Add myself to Uploaders in debian/control.
* Make sure that the sources are really patched before building them.
* Build unit 'libc' on powerpc too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
{
2
 
    $Id: ncgadd.pas,v 1.45 2005/03/01 21:28:50 jonas Exp $
3
2
    Copyright (c) 2000-2002 by the FPC development team
4
3
 
5
4
    Code generation for add nodes (generic version)
51
50
          procedure second_addfloat;virtual;abstract;
52
51
          procedure second_addboolean;virtual;
53
52
          procedure second_addsmallset;virtual;
54
 
{$ifdef i386}
 
53
{$ifdef x86}
55
54
{$ifdef SUPPORT_MMX}
56
 
          procedure second_addmmxset;virtual;abstract;
57
 
          procedure second_addmmx;virtual;abstract;
 
55
          procedure second_opmmxset;virtual;abstract;
 
56
          procedure second_opmmx;virtual;abstract;
58
57
{$endif SUPPORT_MMX}
59
 
{$endif}
 
58
{$endif x86}
60
59
          procedure second_add64bit;virtual;
61
60
          procedure second_addordinal;virtual;
62
61
          procedure second_cmpfloat;virtual;abstract;
380
379
        { And,Or will only evaluate from left to right only the
381
380
          needed nodes unless full boolean evaluation is enabled }
382
381
        if (nodetype in [orn,andn]) and
383
 
           not(cs_full_boolean_eval in aktlocalswitches) then
 
382
           (not(cs_full_boolean_eval in aktlocalswitches) or
 
383
            (nf_short_bool in flags)) then
384
384
          begin
385
385
            location_reset(location,LOC_JUMP,OS_NO);
386
386
            case nodetype of
776
776
{$ifdef SUPPORT_MMX}
777
777
              else
778
778
                if is_mmx_able_array(left.resulttype.def) then
779
 
                  second_opmmx;
 
779
                  second_opmmx
780
780
{$endif SUPPORT_MMX}
781
781
              else
782
782
                internalerror(200306016);
791
791
begin
792
792
   caddnode:=tcgaddnode;
793
793
end.
794
 
{
795
 
  $Log: ncgadd.pas,v $
796
 
  Revision 1.45  2005/03/01 21:28:50  jonas
797
 
    * fixed web bug 3533
798
 
 
799
 
  Revision 1.44  2005/02/15 19:53:41  florian
800
 
    * don't generate overflow results if they aren't necessary
801
 
    * fixed op_reg_reg_reg_reg on arm
802
 
 
803
 
  Revision 1.43  2005/02/14 17:13:06  peter
804
 
    * truncate log
805
 
 
806
 
  Revision 1.42  2005/02/13 19:12:05  florian
807
 
    * setup ovlov correctly
808
 
 
809
 
  Revision 1.41  2005/02/13 18:55:19  florian
810
 
    + overflow checking for the arm
811
 
 
812
 
  Revision 1.40  2005/01/29 00:40:18  peter
813
 
    * fixed x86_64 compile
814
 
 
815
 
  Revision 1.39  2005/01/27 20:32:51  florian
816
 
    + implemented overflow checking for 64 bit types on sparc
817
 
 
818
 
  Revision 1.38  2005/01/20 21:28:52  florian
819
 
    * optimized register usage for non-x86 e.g. 3 operand cpus
820
 
 
821
 
  Revision 1.37  2005/01/01 14:32:53  florian
822
 
    * maybe_constant means also that a loc can be CREGISTER
823
 
 
824
 
}