* mini.c (mini_get_inst_for_method): Add support for CAS instrinsics when
the 'value' to store is a constant.
* mini-ops.h: Add OP_ATOMIC_CAS_IMM opcodes.
* mini-amd64.c (mono_arch_output_basic_block): Optimize the the implementation
of ATOMIC_EXCHANGE opcodes, add support for the CAS opcodes.
svn path=/trunk/mono/; revision=104171
tls_get: dest:i len:16
atomic_add_i4: src1:b src2:i dest:i len:32
atomic_add_new_i4: src1:b src2:i dest:i len:32
-atomic_exchange_i4: src1:b src2:i dest:i len:32
+atomic_exchange_i4: src1:b src2:i dest:a len:32
atomic_add_i8: src1:b src2:i dest:i len:32
atomic_add_new_i8: src1:b src2:i dest:i len:32
-atomic_exchange_i8: src1:b src2:i dest:i len:32
+atomic_exchange_i8: src1:b src2:i dest:a len:32
+atomic_cas_imm_i4: src1:b src2:i dest:a len:32
+atomic_cas_imm_i8: src1:b src2:i dest:a len:32
memory_barrier: len:16
adc: dest:i src1:i src2:i len:3 clob:1
addcc: dest:i src1:i src2:i len:3 clob:1