From 3a3677ff46c5e086f59fdf7dc64e5eb09354bf25 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 9 Apr 2000 13:26:42 -0700 Subject: genrecog.c (pred): Update comparison_operator for the unordered operators. * genrecog.c (pred): Update comparison_operator for the unordered operators. * config/i386/i386.c (no_comparison_operator): Disallow unordered operators. (fcmov_comparison_operator): Allow UNORDERED/ORDERED. (uno_comparison_operator): New. (put_condition_code): Handle UNORDERED/ORDERED. (unsigned_comparison): Likewise. (ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare. (ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise. (ix86_expand_fp_compare): Use them. Take scratch as argument, update all callers. Handle all 8 unordered operators. (ix86_expand_setcc): Lose the unordered argument, update all callers. (ix86_expand_branch): Likewise. Don't fully expand fp branches. * config/i386/i386.h (PREDICATE_CODES): Update. * config/i386/i386-protos.h (ix86_expand_fp_compare): Declare. (ix86_expand_branch, ix86_expand_setcc): Update. * config/i386/i386.md (sunordered, sordered): New. (suneq, sunge, sungt, sunle, sunlt, sltgt): New. (bunordered, bordered): New. (buneq, bunge, bungt, bunle, bunlt, bltgt): New. (*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New. (*fp_jcc_5, *fp_jcc_6, and splitters): New. From-SVN: r33046 --- gcc/genrecog.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/genrecog.c') diff --git a/gcc/genrecog.c b/gcc/genrecog.c index c86b62a..3acf5b1 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -211,7 +211,9 @@ static struct pred_table {"pop_operand", {MEM}}, {"memory_operand", {SUBREG, MEM}}, {"indirect_operand", {SUBREG, MEM}}, - {"comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU}}, + {"comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU, + UNORDERED, ORDERED, UNEQ, UNGE, UNGT, UNLE, + UNLT, LTGT}}, {"mode_independent_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, LABEL_REF, SUBREG, REG, MEM}} }; -- cgit v1.1