diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-01-19 18:51:32 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-01-19 18:51:32 -0500 |
commit | cad12a8dfc1b56ede08ef7cd12215c5b3b897adb (patch) | |
tree | fd717d070500dbd517ed9aa6accb0dcfcaccb963 | |
parent | 0075180522d04f95a970a78f26b52a5cef36c24b (diff) | |
download | gcc-cad12a8dfc1b56ede08ef7cd12215c5b3b897adb.zip gcc-cad12a8dfc1b56ede08ef7cd12215c5b3b897adb.tar.gz gcc-cad12a8dfc1b56ede08ef7cd12215c5b3b897adb.tar.bz2 |
(print_operand, case 'k'): New case.
From-SVN: r3286
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index b9a2332..0bdae6f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -709,6 +709,15 @@ print_operand (file, x, code) switch (code) { + case 'k': + /* X must be a constant. Write the 1's complement of the + constant. */ + if (! INT_P (x)) + output_operand_lossage ("invalid %%k value"); + + fprintf (file, "%d", ~ INT_LOWPART (x)); + return; + case 'h': /* If constant, output low-order five bits. Otherwise, write normally. */ @@ -898,7 +907,7 @@ print_operand (file, x, code) return; case 'U': - /* Print `u' is this has an auto-increment or auto-decrement. */ + /* Print `u' if this has an auto-increment or auto-decrement. */ if (GET_CODE (x) == MEM && (GET_CODE (XEXP (x, 0)) == PRE_INC || GET_CODE (XEXP (x, 0)) == PRE_DEC)) @@ -906,7 +915,7 @@ print_operand (file, x, code) return; case 'I': - /* Print `i' is this is a constant, else nothing. */ + /* Print `i' if this is a constant, else nothing. */ if (INT_P (x)) fprintf (file, "i"); return; |