Так-то вопрос сильно зависит от компилятора, от его версии, от ключей оптимизации, от таргет процессора, и проч. Сейчас, в 20х почти все mainstream desktop/embedded компиляторы свеедут a=0;b=0;c=0 и a=b=c=0; в одно (при оптимизации). Чтобы не гадать -
https://godbolt.org/ А вот старенькие компиляторы, где в кодогенератор вложено мало человекочасов (к примеру pcc, lcc) будут выкидывать разное. Скорее всего будет:
первое:
ld reg, value
ld var1, reg
ld reg, value
ld var2, reg
ld reg, value
ld var3, reg
второе:
ld reg, value
ld var1, reg
ld var2, reg
ld var3, reg