When the machine code is 0x4503, the op is cmp, but this
is the T2 format , N bit(7-bit) is 0 , so the thumb instrunction cmp-hi is
unhandled. And the decode action is failure .
The 0x4503 machine code is generate by clang4.0\5.0\6.0, the
machine cpu can run this machine.
<<snip>>
No, the hardware documentation says that the result is UNPREDICATBLE.
*/T2 variant/*
CMP{<c>}{<q>} <Rn>, <Rm> // <Rn> and <Rm> not both from R0-R7
*/Decode for this encoding/*
n = UInt(N:Rn); m = UInt(Rm);
(shift_t, shift_n) = (SRType_LSL, 0);
if n < 8 && m < 8 then UNPREDICTABLE;
When the instruction is 0x4503, then N:Rn (bits 7,2,1,0) is 3,
and Rm(bits 6,5,4,3) is 0. Both effective register numbers
are less than 8, so this is an UNPREDICTABLE case.
The compiler/assembler made a mistake.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users