commit ea811ce38ae2127554f0aca9cd34aca6e42f814d Author: Kwok Cheung Yeung Date: Thu Apr 2 07:47:28 2020 -0700 amdgcn: Support unordered floating-point comparison operators 2020-04-02 Kwok Cheung Yeung gcc/ * config/gcn/gcn.c (print_operand): Handle unordered comparison operators. * config/gcn/predicates.md (gcn_fp_compare_operator): Add unordered comparison operators. diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c index 12438cf..38b5b98 100644 --- a/gcc/config/gcn/gcn.c +++ b/gcc/config/gcn/gcn.c @@ -6007,6 +6007,21 @@ print_operand (FILE *file, rtx x, int code) case UNORDERED: s = "_u_"; break; + case UNEQ: + s = "_nlg_"; + break; + case UNGE: + s = "_nlt_"; + break; + case UNGT: + s = "_nle_"; + break; + case UNLE: + s = "_ngt_"; + break; + case UNLT: + s = "_nge_"; + break; case LTGT: s = "_lg_"; break; diff --git a/gcc/config/gcn/predicates.md b/gcc/config/gcn/predicates.md index 7bf763a..91e5ca1 100644 --- a/gcc/config/gcn/predicates.md +++ b/gcc/config/gcn/predicates.md @@ -165,7 +165,7 @@ (match_code "eq,ne,gt,ge,lt,le,gtu,geu,ltu,leu")) (define_predicate "gcn_fp_compare_operator" - (match_code "eq,ne,gt,ge,lt,le,gtu,geu,ltu,leu,ordered,unordered,ltgt")) + (match_code "eq,ne,gt,ge,lt,le,gtu,geu,ltu,leu,ordered,unordered,uneq,unge,ungt,unle,unlt,ltgt")) (define_predicate "unary_operator" (match_code "not,popcount"))