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

Jesus Checa <jch...@redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jch...@redhat.com

--- Comment #2 from Jesus Checa <jch...@redhat.com> ---
I've tested this patch with the following source:
-----
int main(){
    asm("wflrx %v0,%v0,0,0");
    return 0 ;
}
-----
Built with "gcc -march=z14 main.c -o main" and tested with a valgrind build
that contains this patch. Now valgrind works correctly and doesn't report "IR:
specification exception" anymore.

I wanted to do a bit more in-depth testing and I moved to another instruction,
so I changed my program to this one:
-----
int main(){
    asm("vflr %v0,%v0,0,0,0");
    return 0 ;
}
-----
Building and running the same way as the aforementioned, this executable will
make that valgrind prints again a specification exception message such as this:
    vex s390->IR: specification exception: E700 0000 00C5
    ==52001== valgrind: Unrecognised instruction at address 0x1000558.

Checking s390x opcodes, it feels like s390_irgen_VFLR  is missing the case for
when m3 == 0 (provided my inline asm is right).

I did the same test with VFLL (e700 xxxx xxc4) opcodes with the same result,
VFLL instruction makes valgrind report a specification exception, whereas
VFLLS/WFLLS/WFLLD instructions work correctly.

FTR, this is the link where I checked the opcodes:
https://fossies.org/linux/binutils/opcodes/s390-opc.txt

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

Reply via email to