Removed a few volatile flushes, consume's sufficient
Fix current block flow control in do-statement
Fix dereference of arrays - missed in out_deref()

Need to handle a[0], where a is an array - we don't dereference as
it's not an lvalue.
Handle adjusting a fixed register in x86_64:impl_op()
Implement out_new_reg_save_ptr, out_new_overflow and out_new_noop
va_start() returns out_new_noop()
Correct va_arg() retain/release logic
va_arg() merge block needs to start on blk_fin
Fix variadic reg saving / unused register copy output

Previously every store to the stack would generate a load into a
pointer register which would be unused. The store is flushed
regardless, so we don't need a volatile-flush for the returned
pointer from the stack-save call.
Debug labels have a newline

Introduced in c198ce4afc4e4d7 - assembler still accepted it, this
just tidies it.
Fix type in va_arg() for gp/fp_offset
Correct va_list's gp/fp_offset type and make usage obvious