diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2016-01-11 14:44:22 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2016-01-11 14:44:22 +0000 |
commit | 2b8568fe565d23e8cb9f02334d81c21428eb7cd3 (patch) | |
tree | 5f838f445f94024a719619366722b2aa255063b9 /gcc/config/aarch64/iterators.md | |
parent | 0d58938ed798882063737dedfe897a9b484295ad (diff) | |
download | gcc-2b8568fe565d23e8cb9f02334d81c21428eb7cd3.zip gcc-2b8568fe565d23e8cb9f02334d81c21428eb7cd3.tar.gz gcc-2b8568fe565d23e8cb9f02334d81c21428eb7cd3.tar.bz2 |
[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison with zero
PR rtl-optimization/68796
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
and QImode comparisons against zero with CC_NZmode.
* config/aarch64/iterators.md (short_mask): New mode_attr.
* gcc.target/aarch64/tst_5.c: New test.
* gcc.target/aarch64/tst_6.c: Likewise.
From-SVN: r232228
Diffstat (limited to 'gcc/config/aarch64/iterators.md')
-rw-r--r-- | gcc/config/aarch64/iterators.md | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index 549d47a..49598a2 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -345,6 +345,8 @@ (define_mode_attr w1 [(SF "w") (DF "x")]) (define_mode_attr w2 [(SF "x") (DF "w")]) +(define_mode_attr short_mask [(HI "65535") (QI "255")]) + ;; For constraints used in scalar immediate vector moves (define_mode_attr hq [(HI "h") (QI "q")]) |