- cls2 = arch_register_get_class(in2);
-
- assert(cls1 == cls2 && "Register class mismatch at Perm");
-
- if (cls1 == &ia32_reg_classes[CLASS_ia32_gp]) {
- be_emit_cstring(env, "\txchg ");
- ia32_emit_source_register(env, node, 1);
- be_emit_cstring(env, ", ");
- ia32_emit_source_register(env, node, 0);
- be_emit_finish_line_gas(env, node);
- } else if (cls1 == &ia32_reg_classes[CLASS_ia32_xmm]) {
- be_emit_cstring(env, "\txorpd ");
- ia32_emit_source_register(env, node, 1);
- be_emit_cstring(env, ", ");
- ia32_emit_source_register(env, node, 0);
- be_emit_finish_line_gas(env, NULL);
-
- be_emit_cstring(env, "\txorpd ");
- ia32_emit_source_register(env, node, 0);
- be_emit_cstring(env, ", ");
- ia32_emit_source_register(env, node, 1);
- be_emit_finish_line_gas(env, NULL);
-
- be_emit_cstring(env, "\txorpd ");
- ia32_emit_source_register(env, node, 1);
- be_emit_cstring(env, ", ");
- ia32_emit_source_register(env, node, 0);
- be_emit_finish_line_gas(env, node);
- } else if (cls1 == &ia32_reg_classes[CLASS_ia32_vfp]) {
+
+ assert(cls0 == cls1 && "Register class mismatch at Perm");
+
+ if (cls0 == &ia32_reg_classes[CLASS_ia32_gp]) {
+ be_emit_cstring("\txchg ");
+ emit_register(in1, NULL);
+ be_emit_cstring(", ");
+ emit_register(in0, NULL);
+ be_emit_finish_line_gas(node);
+ } else if (cls0 == &ia32_reg_classes[CLASS_ia32_xmm]) {
+ be_emit_cstring("\txorpd ");
+ emit_register(in1, NULL);
+ be_emit_cstring(", ");
+ emit_register(in0, NULL);
+ be_emit_finish_line_gas(NULL);
+
+ be_emit_cstring("\txorpd ");
+ emit_register(in0, NULL);
+ be_emit_cstring(", ");
+ emit_register(in1, NULL);
+ be_emit_finish_line_gas(NULL);
+
+ be_emit_cstring("\txorpd ");
+ emit_register(in1, NULL);
+ be_emit_cstring(", ");
+ emit_register(in0, NULL);
+ be_emit_finish_line_gas(node);
+ } else if (cls0 == &ia32_reg_classes[CLASS_ia32_vfp]) {