diff options
author | Vlad Lazar <vlad.lazar@arm.com> | 2018-08-16 16:33:43 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-08-16 10:33:43 -0600 |
commit | ec18e48eaa0d7e06d46c7b544508a191d11a8921 (patch) | |
tree | ab7980e4a0ea136a6da132a6eaa6bd5bad54c76d /gcc/expmed.h | |
parent | 891b1d6872ecf18ccf605d036f8f01dec32d66a4 (diff) | |
download | gcc-ec18e48eaa0d7e06d46c7b544508a191d11a8921.zip gcc-ec18e48eaa0d7e06d46c7b544508a191d11a8921.tar.gz gcc-ec18e48eaa0d7e06d46c7b544508a191d11a8921.tar.bz2 |
expmed.h (canonicalize_comparison): New declaration.
* expmed.h (canonicalize_comparison): New declaration.
* expmed.c (canonicalize_comparison, equivalent_cmp_code): New function.
* expmed.c (emit_store_flag_1): Add call to canonicalize_comparison.
* optabs.c (prepare_cmp_insn): Likewise.
* rtl.h (unsigned_condition_p): New function which checks if a
comparison operator is unsigned.
* gcc.target/aarch64/imm_choice_comparison.c: New test.
From-SVN: r263591
Diffstat (limited to 'gcc/expmed.h')
-rw-r--r-- | gcc/expmed.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/expmed.h b/gcc/expmed.h index 2890d9c..cc247c4 100644 --- a/gcc/expmed.h +++ b/gcc/expmed.h @@ -702,6 +702,8 @@ extern rtx emit_store_flag (rtx, enum rtx_code, rtx, rtx, machine_mode, extern rtx emit_store_flag_force (rtx, enum rtx_code, rtx, rtx, machine_mode, int, int); +extern void canonicalize_comparison (machine_mode, enum rtx_code *, rtx *); + /* Choose a minimal N + 1 bit approximation to 1/D that can be used to replace division by D, and put the least significant N bits of the result in *MULTIPLIER_PTR and return the most significant bit. */ |