Purpose of Gantt chart is to help you have a bird eye view over your project including both scheduled (future) and completed (past) tasks.
You should display a task’s estimated duration as bars and you can regularly update estimates to match your actual effort in order to display completed tasks aligned with their actual completion duration.
In your example, if your initial estimate is 3 weeks for a future task, show it as 3 weeks; if you completed this task in 8 days, make sure you display it as 8 days.
This suggestion may not fit to your situation if you need to continuously adjust your planned tasks. For example, after completing your current task in 8 days, do you want to immediately start with the next task or stick with your initial plan?
Let me know if you’d like to brainstorm together on a specific example.