https://bugs.kde.org/show_bug.cgi?id=447991

--- Comment #5 from Andreas Arnez <ar...@linux.ibm.com> ---
(In reply to Mark Wielaard from comment #4)
> OK, but does that mean that "vflr" isn't a real opcode because it doesn't
> define on what format it operates?
Basically yes.  Well, strictly speaking, the opcode only consists of the
encoded instruction's (E700000000C5) first and last bytes in this case.
So while this byte sequence correctly specifies the vflr instruction, it
violates the instruction's specification -- hence the specification
exception.  On Linux this raises SIGILL, same as if the opcode itself was
unrecognized.
> Only "vflrd", "wflrd", which operate on longs, and "wflrx", which operate on
> extended long, are valid opcodes?
> 
> If so, then it is slightly surprising gcc/binutils accepts asm("vflr
> %v0,%v0,0,0,0");
Yeah, it's arguable that it shouldn't.  The advantage is that future
extensions can be used even without explicit binutils support.  Sometimes
this comes in handy, and the risk of misuse is fairly low.  For instance,
if a future extension supported rounding down from long to short format,
you could already express this by specifying m3 = 2.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to