diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2004-09-26 19:37:56 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2004-09-26 19:37:56 +0000 |
commit | 69049ba07afa22a5686db85e7e9a1602be795d62 (patch) | |
tree | 4ba1ee5c989e8720b717a91f9495ce5b139acbe0 /gcc | |
parent | 6cbaec9e895dd7f79385300731d46e37c07311c8 (diff) | |
download | gcc-69049ba07afa22a5686db85e7e9a1602be795d62.zip gcc-69049ba07afa22a5686db85e7e9a1602be795d62.tar.gz gcc-69049ba07afa22a5686db85e7e9a1602be795d62.tar.bz2 |
pa.c (print_operand): Use non-trapping completers for UNLE...
* pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
From-SVN: r88144
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 19 |
2 files changed, 16 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c745f9..4268e38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT, + UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons. + 2004-09-26 Ulrich Weigand <uweigand@de.ibm.com> * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index a4edfeb..5f21e17 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -5102,7 +5102,10 @@ print_operand (FILE *file, rtx x, int code) } return; /* For floating point comparisons. Note that the output - predicates are the complement of the desired mode. */ + predicates are the complement of the desired mode. The + conditions for GT, GE, LT, LE and LTGT cause an invalid + operation exception if the result is unordered and this + exception is enabled in the floating-point status register. */ case 'Y': switch (GET_CODE (x)) { @@ -5121,19 +5124,19 @@ print_operand (FILE *file, rtx x, int code) case LTGT: fputs ("!<>", file); break; case UNLE: - fputs (">", file); break; + fputs ("!?<=", file); break; case UNLT: - fputs (">=", file); break; + fputs ("!?<", file); break; case UNGE: - fputs ("<", file); break; + fputs ("!?>=", file); break; case UNGT: - fputs ("<=", file); break; + fputs ("!?>", file); break; case UNEQ: - fputs ("<>", file); break; + fputs ("!?=", file); break; case UNORDERED: - fputs ("<=>", file); break; + fputs ("!?", file); break; case ORDERED: - fputs ("!<=>", file); break; + fputs ("?", file); break; default: abort (); } |