do while이 for문보다 빠르다고 했는데

volatile i로 선언하고 단순 반복만 했을때 for문이 더 빠르던데 왜 이런거죠?

최적화는 안햇고 어셈코드 보면 dowhile보다 for에서 메모리 로드 연산이 하나 더 많던데도 dowhile이 더 느리다라고여

gcc로 컴파일 했습니다. 제가 혹시 뭐 잘못알고 잇는게 잇나요?