2005-12-11 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / inssel-ia64.brg
index 207d96cdc0a973de3a7a8e1a200a8b1e338e95f7..452796a25e69d4835277c98a029c9f58eccfe04c 100644 (file)
@@ -305,6 +305,17 @@ reg: OP_ATOMIC_ADD_NEW_I8 (base, OP_ICONST) {
        mono_bblock_add_inst (s->cbb, tree);
 }
 
+reg: OP_ATOMIC_EXCHANGE_I4 (base, reg),
+reg: OP_ATOMIC_EXCHANGE_I8 (base, reg) {
+       tree->opcode = tree->opcode;
+       tree->dreg = state->reg1;
+       tree->sreg2 = state->right->reg1;
+       tree->inst_basereg = state->left->tree->inst_basereg; 
+       tree->inst_offset = state->left->tree->inst_offset; 
+    
+       mono_bblock_add_inst (s->cbb, tree);
+}
+
 # Optimized memset implementation
 stmt: OP_MEMSET (base) "0" {
        int dest_reg, dest_reg2, val_reg, unit, align;