Please let me know if I've missed something or if there's an easier way to do this in tablegen.
This avoids ugliness such as:
test_atomic_sub_fetch: // @test_atomic_sub_fetch // BB#0: // %entry mov w8, #-1 neg w8, w8 ldaddal w8, w8, [x0] add w0, w8, #1 // =1 ret
and instead generates:
test_atomic_sub_fetch: // @test_atomic_sub_fetch // BB#0: // %entry orr w8, wzr, #0x1 ldaddal w8, w8, [x0] add w0, w8, #1 // =1 ret
Chad