MOV64ri results in a significantly longer encoding, and use of this operator is fairly avoidable as
we can always check the size of the immediate we're using.
Details
Details
- Reviewers
rnk pavel.v.chupin cdavis5x
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/X86/X86FrameLowering.cpp | ||
---|---|---|
154 | You also do if (isUInt<32>(Imm)) return MOV32ri64; It's weirdly named but it's load a 32 bit immediate into the lower 32 bits and zero extend. Should avoid a REX prefix I think. | |
157 | You can drop this else since the if returned. | |
llvm/test/CodeGen/X86/segmented-stacks-dynamic.ll | ||
2 | Can you pretend you pre-commited the test for the purposes of this diff so it's readable? |
Comment Actions
Seems reasonable
llvm/lib/Target/X86/X86FrameLowering.cpp | ||
---|---|---|
253 | Offset here is always >2GB, so this is NFC, but still a simplification. |
You also do
It's weirdly named but it's load a 32 bit immediate into the lower 32 bits and zero extend. Should avoid a REX prefix I think.