if (e->X_add_symbol
&& !i386_intel_simplify_symbol (e->X_add_symbol))
return 0;
+ if (!the_reg && this_operand >= 0
+ && e->X_op == O_symbol && !e->X_add_number)
+ the_reg = i.op[this_operand].regs;
if (e->X_op == O_add || e->X_op == O_subtract)
{
base = intel_state.base;
input_line_pointer = reg_string;
c = get_symbol_name (®_string);
symbolP = symbol_find (reg_string);
+ while (symbolP && S_GET_SEGMENT (symbolP) != reg_section)
+ {
+ const expressionS *e = symbol_get_value_expression(symbolP);
+
+ if (e->X_op != O_symbol || e->X_add_number)
+ break;
+ symbolP = e->X_add_symbol;
+ }
if (symbolP && S_GET_SEGMENT (symbolP) == reg_section)
{
const expressionS *e = symbol_get_value_expression (symbolP);
[ 0-9a-f]+:[ 0-9a-f]+test[ ]+%ecx,%ecx
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+%fs:\(%ecx,%ecx,4\),%ecx
[ 0-9a-f]+:[ 0-9a-f]+fadd[ ]+%st\(1\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fmul[ ]+%st\(1\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fsub[ ]+%st\(1\),%st
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+\$0xfffffffe,%eax
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+0xfffffffe,%eax
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+\$0x0,%eax[ 0-9a-f]+:[ a-zA-Z0-9_]+xtrn
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+%gs:\(%edx,%edx,8\),%edx
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+%gs:\(%edx,%edx,8\),%edx
[ 0-9a-f]+:[ 0-9a-f]+fadd[ ]+%st\(1\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fmul[ ]+%st\(1\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fsub[ ]+%st\(1\),%st
[ 0-9a-f]+:[ 0-9a-f]+fadd[ ]+%st\(7\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fmul[ ]+%st\(7\),%st
+[ 0-9a-f]+:[ 0-9a-f]+fsub[ ]+%st\(7\),%st
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+0x4\(%edx\),%eax
[ 0-9a-f]+:[ 0-9a-f]+mov[ ]+0x4\(%edx\),%eax
#pass