https://sourceware.org/bugzilla/show_bug.cgi?id=27436

Nelson Chu <nelsonc1225 at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
                 CC|                            |nelsonc1225 at sourceware dot 
org
             Status|NEW                         |RESOLVED

--- Comment #3 from Nelson Chu <nelsonc1225 at sourceware dot org> ---
Now I can have the expected results by using mainline binutils,

nelson@LAPTOP-QFSGI1F2:~$ riscv32-unknown-elf-as -march=rv64g tmp.s
nelson@LAPTOP-QFSGI1F2:~$ riscv32-unknown-elf-as -march=rv64gc tmp.s
nelson@LAPTOP-QFSGI1F2:~$ riscv32-unknown-elf-as -march=rv32g tmp.s
tmp.s: Assembler messages:
tmp.s:1: Error: improper shift amount (63)
nelson@LAPTOP-QFSGI1F2:~$ riscv32-unknown-elf-as -march=rv32gc tmp.s
tmp.s: Assembler messages:
tmp.s:1: Error: improper shift amount (63)

I convert the immediate to unsigned long first, and then only check if it is
invalid when the value >= xlen.  This is the same as the checking of operand
'>'.

Marked as Resolved and Fixed.  If the above behavior has risk, then we can
reopen the PR and use another way to fix it.

Thanks

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to