dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/engine md_arm.h, 1.8, 1.9 md_x86.h, 1.6,


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/engine md_arm.h, 1.8, 1.9 md_x86.h, 1.6, 1.7 unroll_branch.c, 1.1, 1.2
Date: Sat, 12 Jul 2003 21:34:14 -0400

Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv25553/engine

Modified Files:
        md_arm.h md_x86.h unroll_branch.c 
Log Message:


Introduce some extra instructions for unsigned comparisons because
PPC cannot set the condition codes for both signed and unsigned
results at the same time like x86 and ARM can.


Index: md_arm.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/md_arm.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** md_arm.h    12 Jul 2003 06:01:17 -0000      1.8
--- md_arm.h    13 Jul 2003 01:34:12 -0000      1.9
***************
*** 555,559 ****
--- 555,563 ----
  #define       md_cmp_cc_reg_reg_word_32(inst,reg1,reg2)       \
                        arm_test_reg_reg((inst), ARM_CMP, (reg1), (reg2))
+ #define       md_ucmp_cc_reg_reg_word_32(inst,reg1,reg2)      \
+                       arm_test_reg_reg((inst), ARM_CMP, (reg1), (reg2))
  #define       md_cmp_cc_reg_reg_word_native(inst,reg1,reg2)   \
+                       arm_test_reg_reg((inst), ARM_CMP, (reg1), (reg2))
+ #define       md_ucmp_cc_reg_reg_word_native(inst,reg1,reg2)  \
                        arm_test_reg_reg((inst), ARM_CMP, (reg1), (reg2))
  

Index: md_x86.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/md_x86.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** md_x86.h    12 Jul 2003 06:01:17 -0000      1.6
--- md_x86.h    13 Jul 2003 01:34:12 -0000      1.7
***************
*** 574,578 ****
--- 574,582 ----
  #define       md_cmp_cc_reg_reg_word_32(inst,reg1,reg2)       \
                        x86_alu_reg_reg((inst), X86_CMP, (reg1), (reg2))
+ #define       md_ucmp_cc_reg_reg_word_32(inst,reg1,reg2)      \
+                       x86_alu_reg_reg((inst), X86_CMP, (reg1), (reg2))
  #define       md_cmp_cc_reg_reg_word_native(inst,reg1,reg2)   \
+                       x86_alu_reg_reg((inst), X86_CMP, (reg1), (reg2))
+ #define       md_ucmp_cc_reg_reg_word_native(inst,reg1,reg2)  \
                        x86_alu_reg_reg((inst), X86_CMP, (reg1), (reg2))
  

Index: unroll_branch.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/unroll_branch.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** unroll_branch.c     11 Jul 2003 03:32:32 -0000      1.1
--- unroll_branch.c     13 Jul 2003 01:34:12 -0000      1.2
***************
*** 153,157 ****
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_cmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
--- 153,157 ----
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_ucmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
***************
*** 185,189 ****
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_cmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
--- 185,189 ----
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_ucmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
***************
*** 217,221 ****
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_cmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
--- 217,221 ----
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_ucmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
***************
*** 249,253 ****
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_cmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);
--- 249,253 ----
        GetTopTwoWordRegisters(&unroll, &reg, &reg2,
                                                   MD_REG1_32BIT | 
MD_REG2_32BIT);
!       md_ucmp_cc_reg_reg_word_32(unroll.out, reg, reg2);
        FreeTopRegister(&unroll, -1);
        FreeTopRegister(&unroll, -1);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]