riscv: Fix up riscv_rtx_costs for RTL checking (PR target/93333)
authorJakub Jelinek <jakub@redhat.com>
Tue, 21 Jan 2020 20:43:03 +0000 (21:43 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 21 Jan 2020 20:43:03 +0000 (21:43 +0100)
commitbd0a3e244d94ad4a5e41f01ebf285f0861cb4a03
tree09119145dd2ab49f40778b868c48c17e6729bf35
parent7b72c0d4a053f64c1ac1f1c2eb846aafe56a0a83
riscv: Fix up riscv_rtx_costs for RTL checking (PR target/93333)

As mentioned in the PR, during combine rtx_costs can be called sometimes
even on RTL that has not been validated yet and so can contain even operands
that aren't valid in any instruction.

2020-01-21  Jakub Jelinek  <jakub@redhat.com>

PR target/93333
* config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify
the last two operands are CONST_INT_P before using them as such.

* gcc.c-torture/compile/pr93333.c: New test.
gcc/ChangeLog
gcc/config/riscv/riscv.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr93333.c [new file with mode: 0644]