From: Jin K. S. <jin...@in...> - 2013-08-27 03:29:56
|
Since embedded rounding mode is following the last SIMD op, GPR op should be skipped when finding the last SIMD op. Signed-off-by: Jin Kyu Song <jin...@in...> --- assemble.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assemble.c b/assemble.c index 4f0cd9c..313ff8a 100644 --- a/assemble.c +++ b/assemble.c @@ -1159,6 +1159,8 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, rfield = nasm_regvals[opx->basereg]; /* find the last SIMD operand where ER decorator resides */ oplast = &ins->oprs[op1 > op2 ? op1 : op2]; + while (oplast && is_class(REG_CLASS_GPR, oplast->type)) + oplast--; } else { rflags = 0; rfield = c & 7; -- 1.7.9.5 |