+2020-03-18 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/gcn/gcn-valu.md (vec_cmp<mode>di): Set operand 1 to DImode.
+ (vec_cmp<mode>di_dup): Likewise.
+ * config/gcn/gcn.h (STORE_FLAG_VALUE): Set to -1.
+
2020-03-18 Andrew Stubbs <ams@codesourcery.com>
* config/gcn/gcn-valu.md (COND_MODE): Delete.
(define_insn "vec_cmp<mode>di"
[(set (match_operand:DI 0 "register_operand" "=cV,cV, e, e,Sg,Sg")
- (match_operator 1 "gcn_fp_compare_operator"
+ (match_operator:DI 1 "gcn_fp_compare_operator"
[(match_operand:VCMP_MODE 2 "gcn_alu_operand"
"vSv, B,vSv, B, v,vA")
(match_operand:VCMP_MODE 3 "gcn_vop3_operand"
(define_insn "vec_cmp<mode>di_dup"
[(set (match_operand:DI 0 "register_operand" "=cV,cV, e,e,Sg")
- (match_operator 1 "gcn_fp_compare_operator"
+ (match_operator:DI 1 "gcn_fp_compare_operator"
[(vec_duplicate:VCMP_MODE
(match_operand:<SCALAR_MODE> 2 "gcn_alu_operand"
" Sv, B,Sv,B, A"))
#define SLOW_BYTE_ACCESS 0
#define WORD_REGISTER_OPERATIONS 1
+/* Flag values are either BImode or DImode, but either way the compiler
+ should assume that all the bits are live. */
+#define STORE_FLAG_VALUE -1
+
/* Definitions for register eliminations.
This is an array of structures. Each structure initializes one pair