intelxed / xed

The X86 Encoder Decoder (XED), is a software library for encoding and decoding X86 (IA32 and Intel64) instructions
https://intelxed.github.io/
Apache License 2.0
1.38k stars 146 forks source link

RSQRTSS - First operand should be rw #287

Closed andreas-abel closed 1 year ago

andreas-abel commented 2 years ago

The first operand of RSQRTSS should be "rw" instead of "w".

kkhalail commented 2 years ago

Hey, according to Intel's SDM the first operand should be write only. image

andreas-abel commented 2 years ago

According to the SDM, the "three high-order doublewords of the destination operand remain unchanged." Thus, the first operand is also read.

image

andreas-abel commented 2 years ago

Here is a related discussion: https://stackoverflow.com/questions/72468730/does-rsqrtss-break-the-dependency-on-the-destination-register

kkhalail commented 1 year ago

Changed RSQRTSS's first operand to RW. The change also includes: RCPSS, SQR{TSS,TSD}, ROUNDS{S,D}.

The fix will be available on the next external release.