aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2019-12-03 16:20:29 +0000
committerAndrew Stubbs <ams@codesourcery.com>2019-12-03 16:20:29 +0000
commit1b529ef2f5dbf488927de7519e5f0816ae0956a2 (patch)
treebad1894f714327d8759bf9a002be31b132408c23
parent2f325e88deb6c710310b931dcf721d7c2177d700 (diff)
Add missing amdgcn vcondu patterns
2019-12-03 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md: Change "vcondu" patterns to use VEC_1REG_MODE for the data mode. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@278940 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/gcn/gcn-valu.md20
2 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9efc808eb87..2902cdc7344 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-03 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/gcn/gcn-valu.md: Change "vcondu" patterns to use VEC_1REG_MODE
+ for the data mode.
+
2019-12-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/92758
diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md
index 66b822962ae..f3262e22a02 100644
--- a/gcc/config/gcn/gcn-valu.md
+++ b/gcc/config/gcn/gcn-valu.md
@@ -2596,10 +2596,10 @@
DONE;
})
-(define_expand "vcondu<VEC_1REG_INT_MODE:mode><VEC_1REG_INT_ALT:mode>"
- [(match_operand:VEC_1REG_INT_MODE 0 "register_operand")
- (match_operand:VEC_1REG_INT_MODE 1 "gcn_vop3_operand")
- (match_operand:VEC_1REG_INT_MODE 2 "gcn_alu_operand")
+(define_expand "vcondu<VEC_1REG_MODE:mode><VEC_1REG_INT_ALT:mode>"
+ [(match_operand:VEC_1REG_MODE 0 "register_operand")
+ (match_operand:VEC_1REG_MODE 1 "gcn_vop3_operand")
+ (match_operand:VEC_1REG_MODE 2 "gcn_alu_operand")
(match_operator 3 "comparison_operator"
[(match_operand:VEC_1REG_INT_ALT 4 "gcn_alu_operand")
(match_operand:VEC_1REG_INT_ALT 5 "gcn_vop3_operand")])]
@@ -2608,15 +2608,15 @@
rtx tmp = gen_reg_rtx (DImode);
emit_insn (gen_vec_cmp<VEC_1REG_INT_ALT:mode>di
(tmp, operands[3], operands[4], operands[5]));
- emit_insn (gen_vcond_mask_<VEC_1REG_INT_MODE:mode>di
+ emit_insn (gen_vcond_mask_<VEC_1REG_MODE:mode>di
(operands[0], operands[1], operands[2], tmp));
DONE;
})
-(define_expand "vcondu<VEC_1REG_INT_MODE:mode><VEC_1REG_INT_ALT:mode>_exec"
- [(match_operand:VEC_1REG_INT_MODE 0 "register_operand")
- (match_operand:VEC_1REG_INT_MODE 1 "gcn_vop3_operand")
- (match_operand:VEC_1REG_INT_MODE 2 "gcn_alu_operand")
+(define_expand "vcondu<VEC_1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec"
+ [(match_operand:VEC_1REG_MODE 0 "register_operand")
+ (match_operand:VEC_1REG_MODE 1 "gcn_vop3_operand")
+ (match_operand:VEC_1REG_MODE 2 "gcn_alu_operand")
(match_operator 3 "comparison_operator"
[(match_operand:VEC_1REG_INT_ALT 4 "gcn_alu_operand")
(match_operand:VEC_1REG_INT_ALT 5 "gcn_vop3_operand")])
@@ -2626,7 +2626,7 @@
rtx tmp = gen_reg_rtx (DImode);
emit_insn (gen_vec_cmp<VEC_1REG_INT_ALT:mode>di_exec
(tmp, operands[3], operands[4], operands[5], operands[6]));
- emit_insn (gen_vcond_mask_<VEC_1REG_INT_MODE:mode>di
+ emit_insn (gen_vcond_mask_<VEC_1REG_MODE:mode>di
(operands[0], operands[1], operands[2], tmp));
DONE;
})