| # MPX instructions |
| .allow_index_reg |
| .text |
| |
| ### bndmk |
| bndmk (%r11), %bnd1 |
| bndmk (%rax), %bnd1 |
| bndmk (0x399), %bnd1 |
| bndmk 0x3(%r9), %bnd1 |
| bndmk 0x3(%rax), %bnd1 |
| bndmk 0x3(,%r12,1), %bnd1 |
| bndmk (%rax,%rcx), %bnd1 |
| bndmk 0x3(%r11,%rax,1), %bnd1 |
| bndmk 0x3(%rbx,%r9,1), %bnd1 |
| |
| ### bndmov |
| bndmov (%r11), %bnd1 |
| bndmov (%rax), %bnd1 |
| bndmov (0x399), %bnd1 |
| bndmov 0x3(%r9), %bnd2 |
| bndmov 0x3(%rax), %bnd2 |
| bndmov 0x3(,%r12,1), %bnd0 |
| bndmov (%rax,%rdx), %bnd2 |
| bndmov 0x3(%r11,%rax,1), %bnd1 |
| bndmov 0x3(%rbx,%r9,1), %bnd1 |
| bndmov %bnd2, %bnd0 |
| |
| bndmov %bnd1, (%r11) |
| bndmov %bnd1, (%rax) |
| bndmov %bnd1, (0x399) |
| bndmov %bnd2, 0x3(%r9) |
| bndmov %bnd2, 0x3(%rax) |
| bndmov %bnd0, 0x3(,%r12,1) |
| bndmov %bnd2, (%rax,%rdx) |
| bndmov %bnd1, 0x3(%r11,%rax,1) |
| bndmov %bnd1, 0x3(%rbx,%r9,1) |
| bndmov %bnd0, %bnd2 |
| |
| ### bndcl |
| bndcl (%r11), %bnd1 |
| bndcl (%rax), %bnd1 |
| bndcl %r11, %bnd1 |
| bndcl %rcx, %bnd1 |
| bndcl %ax, %bnd1 |
| bndcl (0x399), %bnd1 |
| bndcl 0x3(%r9), %bnd2 |
| bndcl 0x3(%rax), %bnd2 |
| bndcl 0x3(,%r12,1), %bnd0 |
| bndcl (%rax,%rdx), %bnd2 |
| bndcl 0x3(%r11,%rax,1), %bnd1 |
| bndcl 0x3(%rbx,%r9,1), %bnd1 |
| |
| ### bndcu |
| bndcu (%r11), %bnd1 |
| bndcu (%rax), %bnd1 |
| bndcu %r11, %bnd1 |
| bndcu %rcx, %bnd1 |
| bndcu %ax, %bnd1 |
| bndcu (0x399), %bnd1 |
| bndcu 0x3(%r9), %bnd2 |
| bndcu 0x3(%rax), %bnd2 |
| bndcu 0x3(,%r12,1), %bnd0 |
| bndcu (%rax,%rdx), %bnd2 |
| bndcu 0x3(%r11,%rax,1), %bnd1 |
| bndcu 0x3(%rbx,%r9,1), %bnd1 |
| |
| ### bndcn |
| bndcn (%r11), %bnd1 |
| bndcn (%rax), %bnd1 |
| bndcn %r11, %bnd1 |
| bndcn %rcx, %bnd1 |
| bndcn %ax, %bnd1 |
| bndcn (0x399), %bnd1 |
| bndcn 0x3(%r9), %bnd2 |
| bndcn 0x3(%rax), %bnd2 |
| bndcn 0x3(,%r12,1), %bnd0 |
| bndcn (%rax,%rdx), %bnd2 |
| bndcn 0x3(%r11,%rax,1), %bnd1 |
| bndcn 0x3(%rbx,%r9,1), %bnd1 |
| |
| ### bndstx |
| bndstx %bnd0, 0x3(%rax,%rbx,1) |
| bndstx %bnd2, 3(%rbx,%rdx) |
| bndstx %bnd3, 0x399(%r12) |
| bndstx %bnd1, 0x1234(%r11) |
| bndstx %bnd2, 0x1234(%rbx) |
| bndstx %bnd2, 3(,%rbx,1) |
| bndstx %bnd2, 3(,%r12,1) |
| bndstx %bnd1, (%rdx) |
| |
| ### bndldx |
| bndldx 0x3(%rax,%rbx,1), %bnd0 |
| bndldx 3(%rbx,%rdx), %bnd2 |
| bndldx 0x399(%r12), %bnd3 |
| bndldx 0x1234(%r11), %bnd1 |
| bndldx 0x1234(%rbx), %bnd2 |
| bndldx 3(,%rbx,1), %bnd2 |
| bndldx 3(,%r12,1), %bnd2 |
| bndldx (%rdx), %bnd1 |
| |
| ### bnd |
| bnd call foo |
| bnd call *(%rax) |
| bnd call *(%r11) |
| bnd je foo |
| bnd jmp foo |
| bnd jmp *(%rcx) |
| bnd jmp *(%r12) |
| bnd ret |
| |
| .intel_syntax noprefix |
| bndmk bnd1, [r11] |
| bndmk bnd1, [rax] |
| bndmk bnd1, [0x399] |
| bndmk bnd1, [r9+0x3] |
| bndmk bnd1, [rax+0x3] |
| bndmk bnd1, [1*r12+0x3] |
| bndmk bnd1, [rax+rcx] |
| bndmk bnd1, [r11+1*rax+0x3] |
| bndmk bnd1, [rbx+1*r9+0x3] |
| |
| ### bndmov |
| bndmov bnd1, [r11] |
| bndmov bnd1, [rax] |
| bndmov bnd1, [0x399] |
| bndmov bnd2, [r9+0x3] |
| bndmov bnd2, [rax+0x3] |
| bndmov bnd0, [1*r12+0x3] |
| bndmov bnd2, [rax+rdx] |
| bndmov bnd1, [r11+1*rax+0x3] |
| bndmov bnd1, [rbx+1*r9+0x3] |
| bndmov bnd0, bnd2 |
| |
| bndmov [r11], bnd1 |
| bndmov [rax], bnd1 |
| bndmov [0x399], bnd1 |
| bndmov [r9+0x3], bnd2 |
| bndmov [rax+0x3], bnd2 |
| bndmov [1*r12+0x3], bnd0 |
| bndmov [rax+rdx], bnd2 |
| bndmov [r11+1*rax+0x3], bnd1 |
| bndmov [rbx+1*r9+0x3], bnd1 |
| bndmov bnd2, bnd0 |
| |
| ### bndcl |
| bndcl bnd1, [r11] |
| bndcl bnd1, [rax] |
| bndcl bnd1, r11 |
| bndcl bnd1, rcx |
| bndcl bnd1, ax |
| bndcl bnd1, [0x399] |
| bndcl bnd1, [r9+0x3] |
| bndcl bnd1, [rax+0x3] |
| bndcl bnd1, [1*r12+0x3] |
| bndcl bnd1, [rax+rcx] |
| bndcl bnd1, [r11+1*rax+0x3] |
| bndcl bnd1, [rbx+1*r9+0x3] |
| |
| ### bndcu |
| bndcu bnd1, [r11] |
| bndcu bnd1, [rax] |
| bndcu bnd1, r11 |
| bndcu bnd1, rcx |
| bndcu bnd1, ax |
| bndcu bnd1, [0x399] |
| bndcu bnd1, [r9+0x3] |
| bndcu bnd1, [rax+0x3] |
| bndcu bnd1, [1*r12+0x3] |
| bndcu bnd1, [rax+rcx] |
| bndcu bnd1, [r11+1*rax+0x3] |
| bndcu bnd1, [rbx+1*r9+0x3] |
| |
| ### bndcn |
| bndcn bnd1, [r11] |
| bndcn bnd1, [rax] |
| bndcn bnd1, r11 |
| bndcn bnd1, rcx |
| bndcn bnd1, ax |
| bndcn bnd1, [0x399] |
| bndcn bnd1, [r9+0x3] |
| bndcn bnd1, [rax+0x3] |
| bndcn bnd1, [1*r9+0x3] |
| bndcn bnd1, [rax+rcx] |
| bndcn bnd1, [r11+1*rax+0x3] |
| bndcn bnd1, [rbx+1*r9+0x3] |
| |
| ### bndstx |
| bndstx [rax+rbx*1+0x3], bnd0 |
| bndstx [rbx+rdx+3], bnd2 |
| bndstx [r12+0x399], bnd3 |
| bndstx [r11+0x1234], bnd1 |
| bndstx [rbx+0x1234], bnd2 |
| bndstx [1*rbx+3], bnd2 |
| bndstx [1*r12+3], bnd2 |
| bndstx [rdx], bnd1 |
| |
| ### bndldx |
| bndldx bnd0, [rax+rbx*1+0x3] |
| bndldx bnd2, [rbx+rdx+3] |
| bndldx bnd3, [r12+0x399] |
| bndldx bnd1, [r11+0x1234] |
| bndldx bnd2, [rbx+0x1234] |
| bndldx bnd2, [1*rbx+3] |
| bndldx bnd2, [1*r12+3] |
| bndldx bnd1, [rdx] |
| |
| ### bnd |
| bnd call foo |
| bnd call rax |
| bnd call r11 |
| bnd je foo |
| bnd jmp foo |
| bnd jmp rcx |
| bnd jmp r12 |
| bnd ret |
| |
| foo: bnd ret |