diff options
author | Sebastian Perta <sebastian.perta@renesas.com> | 2018-02-09 17:43:11 +0000 |
---|---|---|
committer | Sebastian Perta <sebastianperta@gcc.gnu.org> | 2018-02-09 17:43:11 +0000 |
commit | cad5b07905fb24447dced464b6f60b70178f2fea (patch) | |
tree | 1fe730cec2c7f678fe130d5f0f557f4a48a56aae /gcc/config/rx | |
parent | da86c81e6522f9b27cffd04f728e0edd937d09fc (diff) | |
download | gcc-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.md | 7 |
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]) |