Comments (4)
lui
takes the immediate right-shifted by 12 and unsigned (i.e. 0x0 - 0xfffff), so -4096 would be 0xfffff. I fear that changing this will cause problems. In your proposal, what range of inputs would lui accept?
Seems better to rely on li
if you want to use constants like -4096; this is what GCC does.
from riscv-binutils-gdb.
Humm, I expect it lui
can accept two kind of input, shifted immediate and signed integer.
For shifted immediate, accept 0xfffff000 instead of 0xfffff and output 0xfffff000 in disassembler.
For signed integer, accept all encode-able number.
And for disassembler, naybe we can add both kind of output?
0000000000000000 <x>:
0: fffffab7 lui s5,0xfffff000 # -4096
from riscv-binutils-gdb.
If we changed it to accept 0xfffff000 instead of 0xfffff, this would make sense, but I really don't want to make a backwards-incompatible change like this. It won't break gcc, but it will break hand-written assembly.
I think in the assembler style guide, we just tell people to use li, not lui. We can make it a requirement that li uses lui if the result is in lui range, so that it is predictable.
from riscv-binutils-gdb.
OK, I agree it's will break backwards-compatible, and the let the disassembler output keep the same to prevent inconsistent or any confuse.
from riscv-binutils-gdb.
Related Issues (20)
- How gdb register csr HOT 2
- riscv64 gdb doesn't recognize riscv32 symbol tables: "Sorry, Dave" HOT 1
- GDB internal error HOT 1
- About the opcode constraints documentation. HOT 3
- What is the expected behavior upon hitting a EBREAK? HOT 3
- riscv-binutils-2.35-rvb: `_`instead of `.` ? HOT 2
- How to add a new custom instruction? HOT 6
- riscv-binutils-2.35-rvb: wrong match for xperm.h HOT 2
- a tricky one about gdb HOT 5
- Overlappings on the operand name for p ext
- Registers are interpreted as 64-bit when architecture is set to rv32 HOT 2
- ld: cannot find default versions of the ISA extension `i', when linking rv32e HOT 5
- GDB build fails on CentOS 7.9.2009 HOT 1
- Is there a way to let gdbserver instruct gdb client to use compressed breakpoints? HOT 2
- objdump cant correctly dissemble instructions that reuse other's encoding
- right way to compress branching instuction (decbnez from ZCE extension)
- Objdump and auipc: the immediate value should be displayed shifted HOT 2
- Does anyone know the status about zfh support of binutils? HOT 5
- GDB Single Step fails on RISCV, EL2 with ICCM HOT 1
- continue function not working??? HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riscv-binutils-gdb.