2 # Test if we disallow bsr to zero-extend (i.e. mask) a memory reference.
6 VALIDATOR: 0000000000000003: 49 89 14 07 mov [%r15+%rax*1], %rdx
7 VALIDATOR: ERROR: Invalid index register in memory offset
8 VALIDATOR: Checking jump targets: 0 to 7
9 VALIDATOR: Checking that basic blocks are aligned
10 *** <input> IS UNSAFE ***
12 VALIDATOR: 0000000000000003: 49 89 14 07 mov [%r15+%rax*1], %rdx
13 VALIDATOR: ERROR: Invalid index register in memory offset
14 VALIDATOR: Checking block alignment and jump targets: 0 to 7
15 *** <input> IS UNSAFE ***
17 VALIDATOR: 0000000000000003: 49 89 14 07 mov [%r15+%rax*1], %rdx
18 VALIDATOR: ERROR: Invalid index register in memory offset
19 VALIDATOR: Checking jump targets: 0 to 7
20 VALIDATOR: Checking that basic blocks are aligned
21 *** <input> IS UNSAFE ***
23 0000000000000000: 0f bd c3 bsr %eax, %ebx
24 0000000000000003: 49 89 14 07 mov [%r15+%rax*1], %rdx
26 0000000000000000: 0f bd c3 [P] dontcare %eax (s), %ebx (u)
27 0000000000000003: 49 89 14 07 mov [%r15+%rax*1], %rdx
29 3: [0] improper memory address - bad index