RISC-V: Fix lui argument parsing.
authorJim Wilson <jimw@sifive.com>
Thu, 30 May 2019 22:23:10 +0000 (15:23 -0700)
committerJim Wilson <jimw@sifive.com>
Thu, 30 May 2019 22:23:10 +0000 (15:23 -0700)
commit4288405d5ec2c68c7e9d8d68a090c6c9ff3825d1
tree06921438e37620645355d10a780474480f4b59ce
parentbfcdb85206cd3c3b8ad73b13db6bfb2ec608239b
RISC-V: Fix lui argument parsing.

This fixes a bug reported on the riscv.org sw-dev mailing list.  This
rejects "lui x1,symbol", as a symbol should only be accepted here when
used inside %hi().  Without the fix, this gets assembled as "lui x1,0"
with no relocation which is clearly wrong.

gas/
* config/tc-riscv.c (riscv_ip) <'u'>: Move O_constant check inside if
statement.  Delete O_symbol and O_constant check after if statement.
* testsuite/gas/riscv/auipc-parsing.s: Test lui with missing %hi.
* testsuite/gas/riscv/auipc-parsing.l: Update.
gas/ChangeLog
gas/config/tc-riscv.c
gas/testsuite/gas/riscv/auipc-parsing.l
gas/testsuite/gas/riscv/auipc-parsing.s