diff options
Diffstat (limited to 'gcc/config/i386/predicates.md')
-rw-r--r-- | gcc/config/i386/predicates.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index 66f25058182..668c7c061e5 100644 --- a/gcc/config/i386/predicates.md +++ b/gcc/config/i386/predicates.md @@ -499,8 +499,12 @@ ;; Match exactly zero. (define_predicate "const0_operand" - (and (match_code "const_int,const_double,const_vector") - (match_test "op == CONST0_RTX (mode)"))) + (match_code "const_int,const_double,const_vector") +{ + if (mode == VOIDmode) + mode = GET_MODE (op); + return op == CONST0_RTX (mode); +}) ;; Match exactly one. (define_predicate "const1_operand" |