diff options
author | James Van Artsdalen <jrv@gnu.org> | 1992-10-12 21:37:11 +0000 |
---|---|---|
committer | James Van Artsdalen <jrv@gnu.org> | 1992-10-12 21:37:11 +0000 |
commit | b329456eff9087db32b6dd24e8300ef59821f07c (patch) | |
tree | 273055a58a0bb01bf76555c575d6466afd72cdda /gcc | |
parent | e8a2790cc7b812793db68328af927e6015c8576d (diff) | |
download | gcc-b329456eff9087db32b6dd24e8300ef59821f07c.zip gcc-b329456eff9087db32b6dd24e8300ef59821f07c.tar.gz gcc-b329456eff9087db32b6dd24e8300ef59821f07c.tar.bz2 |
(alter_cond): If CC_NOT_SIGNED, convert signed conditions to unsigned.
From-SVN: r2413
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/final.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c index 49df7b0..16da27d 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1940,7 +1940,33 @@ alter_cond (cond) value = 2; break; } - + + if (cc_status.flags & CC_NOT_SIGNED) + /* The flags are valid if signed condition operators are converted + to unsigned. */ + switch (GET_CODE (cond)) + { + case LE: + PUT_CODE (cond, LEU); + value = 2; + break; + + case LT: + PUT_CODE (cond, LTU); + value = 2; + break; + + case GT: + PUT_CODE (cond, GTU); + value = 2; + break; + + case GE: + PUT_CODE (cond, GEU); + value = 2; + break; + } + return value; } #endif |