comparison_dominates_p and unordered compares

Jan Hubicka jh@suse.cz
Sat Jan 6 13:48:00 GMT 2001


Hi
This patch teach comparison_dominates_p about unordered compares.

Bootstrapped and regression tested together with other my today patches
on i386 w/o regressions.

Honza 

So led  6 20:39:03 CET 2001  Jan Hubicka  <jh@suse.cz>

	* jump.c (comparison_dominates_p): Support unordered compares.

*** /p1/gcc/jump.c	Sat Jan  6 17:04:05 2001
--- jump.c	Sat Jan  6 20:25:46 2001
*************** comparison_dominates_p (code1, code2)
*** 1986,2004 ****
  
    switch (code1)
      {
      case EQ:
        if (code2 == LE || code2 == LEU || code2 == GE || code2 == GEU
  	  || code2 == ORDERED)
  	return 1;
        break;
  
      case LT:
!       if (code2 == LE || code2 == NE || code2 == ORDERED)
  	return 1;
        break;
  
      case GT:
!       if (code2 == GE || code2 == NE || code2 == ORDERED)
  	return 1;
        break;
  
--- 2077,2110 ----
  
    switch (code1)
      {
+     case UNEQ:
+       if (code2 == UNLE || code2 == UNGE)
+ 	return 1;
+       break;
+ 
      case EQ:
        if (code2 == LE || code2 == LEU || code2 == GE || code2 == GEU
  	  || code2 == ORDERED)
  	return 1;
        break;
  
+     case UNLT:
+       if (code2 == UNLE || code2 == LTGT)
+ 	return 1;
+       break;
+ 
      case LT:
!       if (code2 == LE || code2 == NE || code2 == ORDERED || code2 == LTGT)
! 	return 1;
!       break;
! 
!     case UNGT:
!       if (code2 == UNGE || code2 == LTGT)
  	return 1;
        break;
  
      case GT:
!       if (code2 == GE || code2 == NE || code2 == ORDERED || code2 == LTGT)
  	return 1;
        break;
  
*************** comparison_dominates_p (code1, code2)
*** 2024,2030 ****
        break;
  
      case UNORDERED:
!       if (code2 == NE)
  	return 1;
        break;
  
--- 2130,2137 ----
        break;
  
      case UNORDERED:
!       if (code2 == NE || code2 == UNEQ || code2 == UNLE || code2 == UNLT
! 	  || code2 == UNGE || code2 == UNGT)
  	return 1;
        break;
  


More information about the Gcc-patches mailing list