for (int i = 0; i < v.size() - 1; ++i)
mov DWORD PTR [rbp-20], 0
.L12:
mov eax, DWORD PTR [rbp-20]
movsx rbx, eax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<int, std::allocator<int> >::size() const
sub rax, 1
cmp rbx, rax
setb al
test al, al
je .L9
for (int i = 0; i < int(v.size()) - 1; ++i)
mov DWORD PTR [rbp-20], 0
.L12:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<int, std::allocator<int> >::size() const
sub eax, 1
cmp DWORD PTR [rbp-20], eax
setl al
test al, al
je .L9
интересно, почему компилятор расширил до rax в 1м случае, это же 64 бита вроде