diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-09-18 17:48:10 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-09-18 17:48:10 -0400 |
commit | 5bf6c48a4adc50024bbed8584a9eec1aa86ce984 (patch) | |
tree | bf3f9a0528aa4486375ef27097b460f0903f02a4 /gcc | |
parent | 86ff8230320d59988f7bb1fb8269bf067610c2f5 (diff) | |
download | gcc-5bf6c48a4adc50024bbed8584a9eec1aa86ce984.zip gcc-5bf6c48a4adc50024bbed8584a9eec1aa86ce984.tar.gz gcc-5bf6c48a4adc50024bbed8584a9eec1aa86ce984.tar.bz2 |
(alpha_swapped_comparison_operator): New function.
From-SVN: r12742
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/alpha/alpha.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 4360b56..b8e581b 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -504,6 +504,23 @@ alpha_comparison_operator (op, mode) || (mode == DImode && (code == LEU || code == LTU))); } +/* Return 1 if OP is a valid Alpha swapped comparison operator. */ + +int +alpha_swapped_comparison_operator (op, mode) + register rtx op; + enum machine_mode mode; +{ + enum rtx_code code = GET_CODE (op); + + if (mode != GET_MODE (op) || GET_RTX_CLASS (code) != '<') + return 0; + + code = swap_condition (code); + return (code == EQ || code == LE || code == LT + || (mode == DImode && (code == LEU || code == LTU))); +} + /* Return 1 if OP is a signed comparison operation. */ int |