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

Reply via email to