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