aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rx
diff options
context:
space:
mode:
authorSebastian Perta <sebastian.perta@renesas.com>2018-02-09 17:43:11 +0000
committerSebastian Perta <sebastianperta@gcc.gnu.org>2018-02-09 17:43:11 +0000
commitcad5b07905fb24447dced464b6f60b70178f2fea (patch)
tree1fe730cec2c7f678fe130d5f0f557f4a48a56aae /gcc/config/rx
parentda86c81e6522f9b27cffd04f728e0edd937d09fc (diff)
downloadgcc-cad5b07905fb24447dced464b6f60b70178f2fea.zip
gcc-cad5b07905fb24447dced464b6f60b70178f2fea.tar.gz
gcc-cad5b07905fb24447dced464b6f60b70178f2fea.tar.bz2
rx.md: updated "movsicc" expand to be matched by GCC
2018-02-09 Sebastian Perta <sebastian.perta@renesas.com> *config/rx.md: updated "movsicc" expand to be matched by GCC *testsuite/gcc.target/rx/movsicc.c: new test case From-SVN: r257533
Diffstat (limited to 'gcc/config/rx')
-rw-r--r--gcc/config/rx/rx.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/rx/rx.md b/gcc/config/rx/rx.md
index 35263b1..3fb2ac8 100644
--- a/gcc/config/rx/rx.md
+++ b/gcc/config/rx/rx.md
@@ -733,12 +733,17 @@
(define_expand "movsicc"
[(parallel
[(set (match_operand:SI 0 "register_operand")
- (if_then_else:SI (match_operand:SI 1 "comparison_operator")
+ (if_then_else:SI (match_operand 1 "comparison_operator")
(match_operand:SI 2 "nonmemory_operand")
(match_operand:SI 3 "nonmemory_operand")))
(clobber (reg:CC CC_REG))])]
""
{
+ /* Make sure that we have an integer comparison... */
+ if (GET_MODE (XEXP (operands[1], 0)) != CCmode
+ && GET_MODE (XEXP (operands[1], 0)) != SImode)
+ FAIL;
+
/* One operand must be a constant or a register, the other must be a register. */
if ( ! CONSTANT_P (operands[2])
&& ! CONSTANT_P (operands[3])