Shift value to some point in binary number
If all you really want is to rotate bits 5-0 to bits 6-1, and then put the original value of bit 6 into bit 0, then the following code will deterministically complete in exactly 4 cycles and will occupy 8 words of program memory. 

bst r16,6 ; Store bit 6 of in T Flag
lsl r16   ; logical shift left by one bit. bit 0 gets 0. 
bld r16,0 ; Load T into bit 0 
cbr r16, $7F ; clear bit 7


Here is what is happening at each step...



This code operates on register R16, but can be modified to work with registers R16-31. This will not work on registers below R16 because of the limited range of the cbr at the end that clears bit 7. 

If you require that the code work uniformly on any register (including R0-15), then you can clear bit 7 with a left-shift/right-shift combination that takes an additional cycle and 2 additional words of memory...

bst r1,6 ; Store bit 6 of in T Flag
lsl r1   ; logical shift left by one bit. bit 0 gets 0. 
bld r1,0 ; Load T into bit 0 
lsl r1   ; logical shift left. 
lsr r1   ; logical shift right. bit 7 gets 0. 


Here is what is happening...



This code operates on register R1, but can be modified to work on any register. 

Finally, if you need the carry bit set according to the original value of bit 6 (it was not just a side effect), you could use the following (even longer) code...

bst r1,6 ; Store bit 6 of in T Flag
lsl r1   ; logical shift left by one bit. bit 0 gets 0. 
bld r1,0 ; Load T into bit 0 
lsl r1   ; logical shift left. 
bld r1,0 ; Load T into bit 0 
lsr r1   ; logical shift right. bit 7 gets 0. C gets original bit 6.


Here is what is happening (this one is a bit more complicated, so changes highlighted in green)...



The above code can be modified for any register R0-R31.

You can read a full description of all these instructions (including the very handy Bit Store instruction on page 46) of the AVR Instruction Set Manual.