Skip to content
This repository has been archived by the owner on Sep 2, 2018. It is now read-only.

Implement wide load program memory pseudo instructions #112

Open
dylanmckay opened this issue Jun 10, 2015 · 3 comments
Open

Implement wide load program memory pseudo instructions #112

dylanmckay opened this issue Jun 10, 2015 · 3 comments

Comments

@dylanmckay
Copy link
Member

Currently no logic exists in AVRExpandPseudoInsts.cpp to lower the lpmw Rd, Z or lpmw Rd, Z+ instructions.

They are defined as pseudo instructions, but they are not lowered. Because of this, using them will cause an error in LLVM.

LLVM ERROR: Not supported instr: <MCInst 102 <MCOperand Reg:52> <MCOperandReg:52>>
@dylanmckay dylanmckay changed the title Lower wide load program memory pseudo instructions Implement wide load program memory pseudo instructions Jun 10, 2015
@dylanmckay
Copy link
Member Author

I believe we shouldn't even have wide program memory load instructions.

The instruction selector will never need it (lpm instructions will only be needed in hand-crafted assembly).

I will go ahead and remove the wide variants.

@agnat
Copy link

agnat commented Jul 16, 2015

The instruction selector will never need it (lpm instructions will only be needed in hand-crafted assembly).

I'm not sure that is true. This code looks like it is trying to select a wide flash load.

That said I'm okay with removing it since I don't believe in wide pseudo instructions anyway... :P

@dylanmckay
Copy link
Member Author

I'm not sure that is true. This code looks like it is trying to select a wide flash load.

I stand corrected.

That said I'm okay with removing it since I don't believe in wide pseudo instructions anyway... :P

I think we should hold off until we get the backend sorted out so we don't actually need them ;)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants