RISC-V: Add Sign/Zero extend patterns for PIC loads
authorPalmer Dabbelt <palmer@dabbelt.com>
Wed, 25 Oct 2017 22:45:55 +0000 (22:45 +0000)
committerPalmer Dabbelt <palmer@gcc.gnu.org>
Wed, 25 Oct 2017 22:45:55 +0000 (22:45 +0000)
commit0b661358bcd72a70bbf4b903db1f0f8de98a6bbd
tree1b167da7b2f12ecf6d7fa1c61d3c4d049f8e4f14
parent4273ea2378d5989dac3b8fd532eaed201e048787
RISC-V: Add Sign/Zero extend patterns for PIC loads

Loads on RISC-V are sign-extending by default, but we weren't telling
GCC this in our PIC load patterns.  This corrects the problem, and adds
a zero-extending pattern as well.

gcc/ChangeLog

2017-10-25  Palmer Dabbelt  <palmer@dabbelt.com>

       * config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define.
       * config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s,
       mark as a sign-extending load.
       (local_pic_load_u): Define.

From-SVN: r254092
gcc/ChangeLog
gcc/config/riscv/pic.md
gcc/config/riscv/riscv.md