Bug 356823 - Unsupported ARM instruction: stlex
Summary: Unsupported ARM instruction: stlex
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-17 11:21 UTC by Роман Донченко
Modified: 2016-09-16 13:53 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Роман Донченко 2015-12-17 11:21:08 UTC
Note: this instruction is new to ARMv8.

Simple example:

$ cat test.c
int main() {
    asm volatile("stlex r0, r1, [r2]");
}
$ gcc -marm -march=armv8-a test.c 
$ valgrind ./a.out
==28004== Memcheck, a memory error detector
==28004== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==28004== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==28004== Command: ./a.out
==28004== 
disInstr(arm): unhandled instruction: 0xE1820E91
                 cond=14(0xE) 27:20=24(0x18) 4:4=1 3:0=1(0x1)
...


Reproducible: Always
Comment 1 Julian Seward 2016-09-16 13:53:45 UTC
Fixed in r3248, along with its friends, LDAEX{,B,H,D}, STLEX{,B,H,D}.